管道命令簡單的理解就是將前一個命令的結果,作爲後一個命令參數進行進一步的處理
注意:
1、管道命令僅會處理standard output,即標準輸出,對於標準錯誤輸出(standard error output)會進行忽略
2、管道命令必須要能夠接受來自前一個命令的數據成爲standard output繼續處理纔行
一、選取命令:cut、grep
1、cut
命令:cut [-d '分隔字符' -f fields] [-c 字符範圍]
參數:
-d:後面接分隔字符,與-f一起使用
-f:依據-d的分隔字符將一段信息分隔爲數段,用-f表示取出第幾段的意思,可以指定多段,用,分隔
-c:以字符的單位取出固定字符區間
例:
echo $PATH | cut -d ':' -f 3,5 表示以:分隔每行數據,並取出第3段和第5段的數據
echo $PATH | cut -c 12- 表示從第12個字符開始取數據
2、grep
命令:grep [-acinv] [--color=auto] 查找字符串 filename
參數:
-a:將二進制(binary)文件以文本(text)文件的方式查找數據
-c:計算找到‘查找字符串’的次數
-i:忽略大小寫
-n:順便輸出行號
-v:反向選擇,即顯示出沒有‘查找字符串’內容的數據
--color=auto:將找到的關鍵字部分加上顏色
3、cut與grep的不同
cut主要用於將同一行的數據進行分解,取出想要的關鍵數據,常用於分析一些數據或文字的時候,cut在處理多空格相連的數據時,會比較喫力
grep會根據指定的匹配取出滿足要求的行
二、排序命令:sort、wc、uniq
1、sort
命令:sort [-fbMnru] [-t '分隔符' -k field] [file or stdin]
參數:
-f:忽略大小寫
-b:忽略最前面的空格
-M:以月份的名字來排序
-n:使用“純數字”進行排序
-r:反向排序
-u:即uniq,相同的數據中,只取一行
-t:分隔符,默認以[tab]分隔
-k:以那個區間來進行排序
2、uniq
命令:uniq [-ic]
參數:
-i:忽略大小寫
-c:進行計數,在每行的行首顯示該行重複的次數
3、wc
命令:wc [-lwm]
參數:
-l:僅列出行
-w:僅列出多少字(英文單字)
-m:多少字符
三、切割命令:split
命令:split [-bl] file PREFIX
參數:
-b:後面接欲切割成的文件大小,可加單位(b,k,m等)
-l:以行數來切割
PREFIX:代表前導符,可作爲切割文件的前導字符
四、其他
less,more,tail,head