本文參考了http://www.docin.com/p-56167731.html 上的例子
1.統計一個檔案的行數可以用以下命令:
grep -c "" xxx.txt
或
grep -n "" xxx.txt | wc -l
___________________________
PS:
使用grep -n “” xxx.txt 可以對 xxx.txt 的內容顯示行號,
比如
grep -n "" /etc/passwd
輸出結果:
1:root:x:0:0:root:/root:/bin/bash
2:daemon:x:1:1:daemon:/usr/sbin:/bin/sh
3:bin:x:2:2:bin:/bin:/bin/sh
4:sys:x:3:3:sys:/dev:/bin/sh
5:sync:x:4:65534:sync:/bin:/bin/sync
6:games:x:5:60:games:/usr/games:/bin/sh
7:man:x:6:12:man:/var/cache/man:/bin/sh
8:lp:x:7:7:lp:/var/spool/lpd:/bin/sh
9:mail:x:8:8:mail:/var/mail:/bin/sh
10:news:x:9:9:news:/var/spool/news:/bin/sh
....
____________________________
或
cat xxx.txt | wc -l
____________________________
PS:
使用cat -n xxx.txt的方式,也可以輸出帶行號的常值內容
而且比grep -n的效果要好
比如 cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
3 bin:x:2:2:bin:/bin:/bin/sh
4 sys:x:3:3:sys:/dev:/bin/sh
5 sync:x:4:65534:sync:/bin:/bin/sync
6 games:x:5:60:games:/usr/games:/bin/sh
7 man:x:6:12:man:/var/cache/man:/bin/sh
8 lp:x:7:7:lp:/var/spool/lpd:/bin/sh
9 mail:x:8:8:mail:/var/mail:/bin/sh
10 news:x:9:9:news:/var/spool/news:/bin/sh
...
另外,更簡單的一個帶行號輸出檔案內容的命令是nl,相當於cat -n
____________________________
2.統計命令執行結果的行數
find /etc/ -type f | wc -l #統計/etc/下檔案的個數
find /etc/ -type f -name "*iscsi*" | wc -l #統計檔案名稱中帶有iscsi的檔案數
find /etc/ -type f -exec grep "mdadm" {} /; | wc -l #統計/etc/目錄下,帶有mdadm內容的行數
find /etc/ -type f -name "*iscsi*" | awk 'END{print NR}' #統計檔案名稱中帶有iscsi的檔案數
find /etc/ -type f -exec grep "mdadm" {} /; | awk 'END{print NR}' #統計/etc目錄下,帶有mdadm內容的行數