命令簡介
cut 將檔案中行中內容按指定分隔符分割並輸出。
命令格式cut [選項] [連結檔名]cut [OPTION] [LINKNAME]
選項說明
-b #只顯示行中指定(位元組數)的內容-c #只顯示行中指定(字元數)的內容-d #指定欄位的分隔符,預設為“TAB”-f #列印指定欄位(列)的內容-n #與“-b”選項連用,不分割多位元組字元-s #不列印不包含定界符的行的內容--help #列印幫助資訊--version #列印版本資訊
cut命令中指定位元組或字元範圍的說明如下:
N #從1位元組、字元或欄位開始到第N個位元組、字元或欄位N- #從第N個位元組、字元或欄位到行的結尾N-M #從第N個位元組、字元或欄位到第M個位元組,字元或欄位-M #從第1個位元組、字元或欄位到第M個位元組、字元或欄位注意:所有的範圍取值需為整數,如:10,10-,10-20,-20。
應用舉例
#列印指定位元組數的內容[root@centos7 testdir]# cat mingongge1.txt 1111 11 111111 1 111 1 1 1122222222222 222 2222 22 2 2 233333333333 333333 3333 333 33444444444444 444 444444444[root@centos7 testdir]# cut -b 3 mingongge1.txt1234#擷取指定欄位內容[root@centos7 testdir]# cat cuttest.txt 1 2 3 4 5 6 89 8 7 6 5 4 32 1 9 8 7 6 5#以空格為分隔,列印每一行的第一列[root@centos7 testdir]# cut -f1 -d" " cuttest.txt 192#以空格為分隔,列印每一行的第一列和第三列[root@centos7 testdir]# cut -f1,3 -d" " cuttest.txt 1 39 72 9#以空格為分隔,列印每一行的第三列到結尾[root@centos7 testdir]# cut -f3- -d" " cuttest.txt 3 4 5 6 87 6 5 4 39 8 7 6 5#擷取每一行第2-5個字元[root@centos7 testdir]# cut -c 2-5 cuttest.txt 2 3 8 7 1 9#擷取每一行第一個到第五個字元[root@centos7 testdir]# cut -c -5 cuttest.txt 1 2 39 8 72 1 9#擷取每一行第五個到最後一個字元[root@centos7 testdir]# cut -c 5- cuttest.txt 3 4 5 6 87 6 5 4 39 8 7 6 5
指定分隔符擷取內容的用法非常實用,工作中也經常使用。