Wc

wc -l 沒有返回正確的值

  • October 4, 2016

我有一個 .txt 文件,其中包含 10781 行。當我wc -l在文件上執行時,我得到了 10780 的回報。

如果我在 .txt 的末尾添加一個空行,我會得到 10781 的正確結果。有人能解釋一下到底是什麼wc -l嗎?

可能您的最後一行沒有換行符。

看到這個:

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

$ man 1p wc

-l 將每個輸入文件中的換行數寫入標準輸出。

在 Unix 上,在文本文件的末尾有一個換行符是一種很好的風格。如果您無法修復您的文件,您可以使用這些解決方法來計算最後的“行”: https ://stackoverflow.com/questions/28038633/wc-l-is-not-counting-last-of-the-文件如果它沒有行尾字元

引用自:https://unix.stackexchange.com/questions/314256