LINUX管道命令

mahe0207發表於2015-01-30

管道命令

左邊命令須有標準輸出 右邊命令須接受標準輸入

左邊命令是標準輸出 右邊是檔案,左邊命令是標準輸入 右邊是檔案

==grep 搜尋==

-I 不區分大小;
-l 只列出匹配的檔名;
-L 列出不匹配的檔名;
-c 只列出匹配的行;
-w 只匹配整個單詞;
-C n 可查詢總行數;
-n 顯示行號;
-h:不顯示匹配檔名;
-s 不顯示錯誤資訊;
-v:反向匹配文字;
--color=auto 在關鍵詞上加上顏色顯示

==cut分割==

-b 按位元組數分割,例date|cut -b 1-4,輸出2011

-c 按字元數分割,例date|cut -c 1-5,輸出2011

-d 域分隔符,預設是製表符,此時-d可省略,cat file1 |cut  -f 2

-f 按域分割,-d指定分隔符,例cat file1 |cut -d : -f 1,3-5

==sort排序==

-f 忽略大小寫;
-b 忽略最前面的空格;
-M 以月份名稱排序;
-n 按數字排序;
-r 降序,sort預設升序;

-o 重定向,例sort file1 -o file2,排序結果輸出到file2-u 去重複行;

-k 指定按某域為排序,-t為域分隔符(預設是tab),例sort -n -k 2 -t : /etc/passwd

==uniq唯一==

-d 僅顯示重複的行;
-u 僅顯示不重複的行;
-c 顯示出現次數;-i 忽略大小寫;

==wc 統計==

-l 統計行數;
-m 統計字元數;
-c 統計位元組數

==nl 顯示行號==

-b a 不忽略空行顯示行號

-b t 忽略空行顯示行號(預設值)

-n ln 行號靠左顯示;

-n rn 行號靠右顯示;

-n rz 行號靠右顯示,數字前用0做佔位符;

-w n 行號欄位的佔用位數n;

-p 在邏輯定界符處不重新開始計算; 

==tee 增加管道==

-a 追加進檔案

-i 忽略中斷訊號

tee -i -a file 讀取使用者接下來在終端的輸入,只能用ctrl+d結束,不能用ctrl+c

cm1 | cm2 > file ; cm3 因為會複製file,所以IO翻倍

cm1 | cm2 | tee file | cm3 #在不影響IO的情況下,將stdout複製一份到檔案去

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29437301/viewspace-1420195/,如需轉載,請註明出處,否則將追究法律責任。

相關文章