1、特殊符号

相關例子,詳見下圖,
2、關于管道符
(1)、cut 分割
-d 分隔符 -f 指定段号 -c 指定第幾個字元
舉例子,見下圖,
上圖例子中,| 輸出結果,cut 分割出後面想要的結果。一般情況下,-c 和 -d 、-f 不同時使用。
(2)、sort 排序
-n 以數字排序 -r 反序 -t 分隔符 -kn1/-kn1,n2
可以注意到,紅色框框裡面的内容是按字母順序排列的,這個就是 sort 作用的結果。sort 後面不加任何選項,則從首字元向後,依次按ASCII碼值進行比較,最後将他們按升序輸出。
關于ASCII碼,百度百科的解釋如下:
接着往下操作,見下圖,
回車之後,進入下圖,
随機輸入上圖紅色框框的内容,儲存後退出。使用 sort 檢視檔案 1.txt ,見下圖,
可以看到上圖的排列順序是,先特殊符号,再數字,然後再字母,包括 * 号。以上就是 ASCII 碼的排列順序。
-n 選項是以數字排序,前面的特殊符号和字母,都預設為 0 。見下圖,
-r 選項是反序的意思,見下圖,
-t 後面跟分隔符,-kn1/-kn1,n2 ,這些用的比較少,了解即可。
(3)、wc
-l 統計行數 -m 統計字元數 -w 統計詞
舉個例子,見下圖,
進入 2.txt 檔案,編輯輸入下圖紅色框框的内容,
儲存後退出。接着統計 2.txt 的字元數,見下圖,
可以看到,2.txt 的字元數是 8 ,為什麼會是 8 呢?cat -A 之前說過,它可以檢視 2.txt 檔案裡的所有内容,包括隐藏的。然後,就看到了每一行末尾的 $ ,表示的是換行符。是以,wc -m 2.txt 的結果是 8 。
接着對 -w 進行操作,見下圖,
2.txt 裡的内容有兩行,是以顯示的結果是 2 。再次進入 2.txt 編輯檔案内容,見下圖,
補充完上圖内容後,儲存并退出。再次檢視統計詞,見下圖,
-w 是以空白字元作為分隔符的,是以結果顯示為 3 。
(4)、uniq 去重複,-c 統計行數
輸入指令 vi 2.txt ,回車,見下圖,
增加上圖紅色框框的内容,儲存并退出。接着往下操作,
發現 uniq 指令對 2.txt 的内容沒有任何影響,再次進入檔案 2.txt ,編輯内容如下,
将最後的1和2互換位置,然後儲存退出。接着使用指令 uniq 2.txt 檢視,見下圖,
這時候,就會看到去重複了。這是有條件的去重複,必須兩個同樣的字元在前後位置,才能去重複。
一般情況下,uniq 和 sort 是一起使用的,見下圖,
先排序,後去重複。這樣子使用指令之後,就看不到重複的數值了。還可以使用 -c 選項來統計重複的次數,每一排前面的數字就是重複的次數。
(5)、tee
和 > 類似,重定向的同時還在螢幕顯示,|tee -a 有追加作用
從上圖可以看出 |tee 的一個作用就是重定向,還有一個作用是把檔案内容列印到螢幕上。
-a 選項有追加的作用,見下圖,
再追加一次,再檢視檔案,見下圖,
(6)、tr 指令
tr 替換字元,tr 'a' 'b',大小寫替換 tr '[a-z]' '[A-Z]'
具體操作,詳見下圖,
(7)、split 指令
split 切割,-b 大小(預設機關位元組),-l 行數
首先來建立一個大檔案,輸入指令 find /etc/ -type f -name "conf" ,回車,見下圖,
該指令結果内容太多,不一一截圖,接着操作如下,
後面這些 4.0 KB的檔案也很多,不一一截圖了。接着用指令 du -sh ,回車,見下圖,
内容也非常多,不一一截圖。1000 機關是 b 。因為前面切割的機關是 1000 ,接着往 100 切割,見下圖,
切割成 100 之後,檔案就更多了,圖檔内容截圖不全,可以注意到這些小檔案的命名都是有按字母排序的。檔案太多,全部删除掉,接着往下操作,
以上就是 split 的用法,可以按大小切割,也可以按行數切割。