您好,登錄后才能下訂單哦!
這篇文章主要介紹使用linux的cut命令連接文件并打印到標準輸出設備上,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
cut命令有兩個主要的功能,第一是顯示文件內(nèi)容,第二是連接多個或多個文件。
若不指定file參數(shù),該命令將讀取標準輸入。 必須指定 -b、-c 或 -f 標志之一。
語法格式:cut [參數(shù)] [文件]
常用參數(shù):?
-b | 以字節(jié)為單位進行分割 ,僅顯示行中指定直接范圍的內(nèi)容 |
-c | 以字符為單位進行分割 , 僅顯示行中指定范圍的字符 |
-d | 自定義分隔符,默認為制表符”TAB” |
-f | 顯示指定字段的內(nèi)容 , 與-d一起使用 |
-n | 取消分割多字節(jié)字符 |
--complement | 補足被選擇的字節(jié)、字符或字段 |
--out-delimiter | 指定輸出內(nèi)容是的字段分割符 |
參考實例
假設有一個學生報表信息,包含 No、Name、Mark、Percent:
[root@linuxcool ~]# cat student.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98
使用 -f 選項提取指定字段(這里的 f 參數(shù)可以簡單記憶為 --fields的縮寫):
[root@linuxcool ~]# cut -f 2 student.txt
Name
tom
jack
alex
--complement 選項提取指定字段之外的列(打印除了第二列之外的列):
[root@linuxcool ~]# cut -f2 --complement student.txt
No Mark Percent
01 69 91
02 71 87
03 68 98
使用 -d 選項指定字段分隔符:
[root@linuxcool ~]# cat student2.txt
No;Name;Mark;Percent
01;tom;69;91
02;jack;71;87
03;alex;68;98
[root@linuxcool ~]# cut -f2 -d";" student2.txt
Name
tom
jack
alex
[root@linuxcool ~]# cat test.txt
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
打印第 1 個到第 3 個字符:
[root@linuxcool ~]# cut -c1-3 test.txt
abc
abc
abc
abc
abc
注意:-b 表示字節(jié);-c 表示字符;-f 表示定義字段。
N- :從第 N 個字節(jié)、字符、字段到結(jié)尾; N-M :從第 N 個字節(jié)、字符、字段到第 M 個(包括 M 在內(nèi))字節(jié)、字符、段; -M :從第 1 個字節(jié)、字符、字段到第 M 個(包括 M 在內(nèi))字節(jié)、字符、字段。
打印前 2 個字符:
[root@linuxcool ~]# cut -c-2 test.txt
ab
ab
ab
ab
ab
打印從第 5 個字符開始到結(jié)尾:
[root@linuxcool ~]# cut -c5- test.txt
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
以上是使用linux的cut命令連接文件并打印到標準輸出設備上的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。