GNU/Linux >> Linux の 問題 >  >> Linux

wc -l は、行末文字がない場合、ファイルの最後をカウントしません

すべての行が EOL \n で終わるようにすることをお勧めします Unix ファイルで。できること:

{ cat file; echo ''; } | wc -l

または、この awk:

awk 'END{print NR}' file

grep -c 一致する行の数を返します。空の文字列 "" を使用するだけです 一致する表現として:

$ echo -n $'a\nb\nc' > 2or3.txt
$ cat 2or3.txt | wc -l
2
$ grep -c "" 2or3.txt
3

Linux
  1. 正規表現がXで機能するのに、Yでは機能しないのはなぜですか?

  2. 改行で終わらない可能性のある行指向のファイルを読みますか?

  3. シェルスクリプト行の最後にあるアンパサンドとはどういう意味ですか?

  1. Bash翻訳ファイルにすべてのエラーテキストが含まれていないのはなぜですか?

  2. Vimでファイルの最初または最後に移動する[クイックヒント]

  3. ファイルの最後の文字である改行を削除するにはどうすればよいですか?

  1. CLI から、ファイルの最後の行を出力します。

  2. ファイルがまだ存在しない場合にのみファイルに行を追加する

  3. sed:見つかった場合は行を置き換えるか、見つからない場合はファイルの最後に追加する方法は?