1. 程式人生 > >擷取命令cut命令、awk命令、sed命令

擷取命令cut命令、awk命令、sed命令

cut命令

擷取以製表符tab為分隔符的第一列

cut -f 1test.txt

擷取以":"為分隔符的第一列,如果比較規律的檔案,可以自己設定分隔符

cut -f 1 -d ':' tset.txt

擷取以“:”為分隔符的第一列和第三列

cut -f 1,3 -d ':' tset.txt

 #命令都是用的英文狀態的符號

 

 

awk命令

擷取第二列和第四列,預設為空格,或者製表符

awk ‘{print $2 "\t" $4}’ test.txt

擷取以:為分隔符的第一列和第三列

awk '{FS=":"}{print $1 "\t" $3}'  test.txt  也可以寫成:awk -F ":" '{print $1 "\t" $3}'

也可以寫成

awk '{FS=":"}{print $1 "\t" $3}' (這是一個比較標準的寫法)

 

 

 

sed命令:其實是替換操作,sed修改的只是顯示的內容,檔案並未修改

輸出第十行,-n必須要加,否則會顯示所有內容,-i表示修改檔案內的內容,這個謹慎操作,-e則表示執行多個動作

sed -n  '10p' regular_express.txt

刪除2-4行

sed  '2,4d' regular_express.txt

在第二行上一行顯示wanmei

sed '2i wanmei' regular_express.txt

在第二行下一行顯示wanmei

sed '2a wanmei' regular_express.txt

替換行,將第四行全部替換為nowanmei

sed '4c nowanmei' regular_express.txt

字串替換

sed 's/舊字串/新字串/g' regular_express.txt

替換第四行的舊字串

sed '4s/舊字串/新字串/g' regular_express.txt

 

sort命令:排序的作用

選項:

-f 忽略大小寫

-n以數值型進行排序,預設是字串型排序

-r反向排序

-t指定分隔符,預設分隔符為製表符

-k[n,m]按照指定的欄位範圍排序,從第n欄位開始,m欄位結束(預設到行尾)

sort -n -t ':' -k '3,3' /etc/passwd   以':'為分隔符的第三欄位開始到第三欄位結束進行排序

 

wc命令:統計命令

wc [選項] 檔名

-l 只統計行數

- w 只統計單詞書

- m 只統計字元數,包含換行符