歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell_wc(統計數目)、head(查看前幾行)、tail(查看末尾幾行)

shell_wc(統計數目)、head(查看前幾行)、tail(查看末尾幾行)

日期:2017/3/1 14:01:57   编辑:SHELL編程
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
Copyright © Linux教程網 All Rights Reserved