shell_wc(統計數目)、head(查看前幾行)、tail(查看末尾幾行)
wc -c filename:顯示一個文件的字節數
wc -m filename:顯示一個文件的字符數
wc -l filename:顯示一個文件的行數
wc -L filename:顯示一個文件中的最長行的長度
wc -w filename:顯示一個文件的字數
[rocrocket@rocrocket programming]$ cat wc1.txt
1 2
34 5
你好
[rocrocket@rocrocket programming]$ wc -c wc1.txt
16 wc1.txt
[rocrocket@rocrocket programming]$ wc -m wc1.txt
12 wc1.txt
[rocrocket@rocrocket programming]$ wc -l wc1.txt
3 wc1.txt
[rocrocket@rocrocket programming]$ wc -L wc1.txt
4 wc1.txt
[rocrocket@rocrocket programming]$ wc -w wc1.txt
5 wc1.txt
每行結尾的換行符也算一個字符,空格也算一個字符.
采用UTF-8編碼,一個漢字在這裡被轉換為3字節,wc -c顯示的結果是16,即“第一行的4個字節+第二行的5個字節+第三行的7個字節”=4 5 7=16.
而當使用-m選項時,一個漢字就作為一個字符計算,是4 5 3=12.
當使用-L時,是給出最長行的長度,第二行最長,有4個字符長.(顯然是不把換行符計算在內)
使用-w是計算字數,一個字是一個word,“34”表示一個word,一個“你好”表示一個word,因此2 2 1=5.
插孔說說tab制表符,這個符號比較特殊,當使用-L時,制表符算7個字符(這要依據一個制表符的長度而定,在我的系統中一個制表符算7個空格長度).而當使用-w時,制表符和空格沒有兩樣,都作為字的間隔來看待.當用-c時,一個制表符也就算一個字符,它的確就只是一個字符而已.
如果你直接執行wc wc1.txt,則顯示:
[rocrocket@rocrocket programming]$ wc wc1.txt
3 5 16 wc1.txt
輸出信息依次是:行數 字數 字節數 文件名稱.
wc命令
wc命令的功能為統計指定文件中的字節數、字數、行數, 並將統計結果顯示輸出.
語法:wc [選項] 文件…
說明:該命令統計給定文件中的字節數、字數、行數.如果沒有給出文件名,
則從標准輸入讀取.wc同時也給出所有指定文件的總統計數.字是由空格字符區分開的最大字符串.
該命令各選項含義如下:
- c 統計字節數.
- l 統計行數.
- w 統計字數.
這些選項可以組合使用.
輸出列的順序和數目不受選項的順序和數目的影響.
總是按下述順序顯示並且每項最多一列.
行數、字數、字節數、文件名
如果命令行中沒有文件名,則輸出中不出現文件名.
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
省略任選項-lcw,wc命令的執行結果與上面一樣.
shell_head
1.命令格式:
head [參數]... [文件]...
2.命令功能:
head 用來顯示檔案的開頭至標准輸出中,默認head命令打印其相應文件的開頭10行。
3.命令參數:
-q 隱藏文件名
-v 顯示文件名
-c<字節> 顯示字節數
-n<行數> 顯示的行數
4.使用實例:
實例1:顯示文件的前n行
命令:
head -n 5 log2014.log
輸出:
[root@localhost test]# cat log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
==============================
[root@localhost test]# head -n 5 log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05[root@localhost test]#
實例2:顯示文件前n個字節
命令:
head -c 20 log2014.log
輸出:
[root@localhost test]# head -c 20 log2014.log
2014-01
2014-02
2014
[root@localhost test]#
實例3:文件的除了最後n個字節以外的內容
命令:
head -c -32 log2014.log
輸出:
[root@localhost test]# head -c -32 log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12[root@localhost test]#
實例4:輸出文件除了最後n行的全部內容
命令:
head -n -6 log2014.log
輸出:
[root@localhost test]# head -n -6 log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07[root@localhost test]#
shell_tail
1.命令格式;
tail[必要參數][選擇參數][文件]
2.命令功能:
用於顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。
3.命令參數:
-f 循環讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數目> 顯示的字節數
-n<行數> 顯示行數
--pid=PID 與-f合用,表示在進程ID,PID死掉之後結束.
-q, --quiet, --silent 從不輸出給出文件名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反復的間隔休眠S秒
4.使用實例:
實例1:顯示文件末尾內容
命令:
tail -n 5 log2014.log
輸出:
[root@localhost test]# tail -n 5 log2014.log
2014-09
2014-10
2014-11
2014-12
==============================[root@localhost test]#
說明:
顯示文件最後5行內容
實例2:循環查看文件內容
命令:
tail -f test.log
輸出:
[root@localhost ~]# ping 192.168.120.204 > test.log &
[1] 11891[root@localhost ~]# tail -f test.log
PING 192.168.120.204 (192.168.120.204) 56(84) bytes of data.
64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms
64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms
64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms
64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms
64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms
64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms
64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms
64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms
64 bytes from 192.168.120.204: icmp_seq=10 ttl=64 time=0.033 ms
64 bytes from 192.168.120.204: icmp_seq=11 ttl=64 time=0.027 ms
[root@localhost ~]#
說明:
ping 192.168.120.204 > test.log & //在後台ping遠程主機。並輸出文件到test.log;這種做法也使用於一個以上的檔案監視。用Ctrl+c來終止。
實例3:從第5行開始顯示文件
命令:
tail -n +5 log2014.log
輸出:
[root@localhost test]# cat log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
==============================
[root@localhost test]# tail -n +5 log2014.log
2014-05
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12