我有這樣的線,我想知道我實際有多少行...... linux
09:16:39 AM all 2.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 94.00 09:16:40 AM all 5.00 0.00 0.00 4.00 0.00 0.00 0.00 0.00 91.00 09:16:41 AM all 0.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 96.00 09:16:42 AM all 3.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 96.00 09:16:43 AM all 0.00 0.00 1.00 0.00 1.00 0.00 0.00 0.00 98.00 09:16:44 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:16:45 AM all 2.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 92.00
有沒有辦法用linux命令統計它們? 工具
工具wc
是UNIX和類UNIX操做系統中的「字計數器」,你也能夠用它來計算文件中的行,經過添加-l
選項,因此wc -l foo
將計算foo
的行數。 你也能夠從這樣的程序管道輸出: ls -l | wc -l
ls -l | wc -l
,它會告訴你當前目錄中有多少文件。 spa
像這樣使用nl
: 操作系統
nl filename
來自man nl
: unix
將每一個FILE寫入標準輸出,並添加行號。 若是沒有FILE,或者FILE是 - ,則讀取標準輸入。 code
若是你想要的只是行數(而不是行數和返回的愚蠢文件名): awk
wc -l < /filepath/filename.ext
如前所述,這些也有效(但因爲其餘緣由而劣質): sed
awk 'END{print NR}' file # not on all unixes sed -n '$=' file # (GNU sed) also not on all unixes grep -c ".*" file # overkill and probably also slower
正如其餘人所說wc -l
是最好的解決方案,可是爲了未來參考你能夠使用Perl: file
perl -lne 'END { print $. }'
$.
包含行號, END
塊將在腳本END
時執行。 perl
以上是首選方法,但「cat」命令也能夠提供幫助:
cat -n <filename>
將顯示包含行號的文件的所有內容。