wc -l が正しい値を返しません。

wc -l が正しい値を返しません。

10781行の.txtファイルがあります。wc -lファイルを実行すると、10780という戻り値が得られます。

.txtの末尾に空白行を追加すると、10781という正しい結果が得られます。誰かがwc -lそれが正確に何であるかを説明できますか?

ベストアンサー1

最後の行に改行文字がない可能性があります。

確認してください:

$ printf bla > file
$ wc -l file
0 file

$1人 1p トイレ

-l 各入力ファイルの改行数を標準出力に書き込みます。

Unixでは、テキストファイルの末尾に改行文字を追加するのが良いスタイルです。ファイルを回復できない場合は、次の回避策を使用して常に最後の「行」を計算できます。 https://stackoverflow.com/questions/28038633/wc-l-is-not-counting-last-of-the-file-if-it-does-not-have-end-of-line-character

おすすめ記事