Linux cut指令用於根據欄位提取檔案內容。文字檔案沒有像資料庫那樣的行/列,有時我們只需要單列資料。根據分隔符號剪下已識別的列(例如:冒號':',分號';',逗號','等)。
對於下面範例,我們採用/etc/passwd檔。所有行都以下面的格式存儲,冒號(:)按如下方式分隔。我們使用-f指定欄位編號,並使用-d作為分隔符號。
依照上面的圖片,這個檔案有7個欄位。 cut也支援在字元基礎suing -c命令列開關上取得值。我們來看下面的例子,使用的是/ etc / passwd檔。
1、從檔案中選擇單一欄位:
例如,我們需要/etc/passwd檔案中的使用者名稱清單。我們知道第一列儲存了用戶名,整個檔案由冒號(:)分隔。
#cut -d“:” - f1 </ etc / passwd root bin daemon adm lp sync shutdown halt
我們也可以使用管道“|”將文件內容作為輸入傳遞給cut命令,如下所示-
#cat / etc / passwd | cut -d“:” - f1
2、從文件中選擇多列:
我們可以用指令分隔指定多個欄位名稱,如下例所示,將只顯示第1個,第2個和第7個欄位。
# cut -d":" -f1,2,7 < /etc/passwd root:x:/bin/bash bin:x:/sbin/nologin daemon:x:/sbin/nologin adm:x:/sbin/nologin lp:x:/sbin/nologin sync:x:/bin/sync shutdown:x:/sbin/shutdown halt:x:/sbin/halt mail:x:/sbin/nologin uucp:x:/sbin/nologin
我們也可以在欄位上指定連字號( - )的列的範圍以及兩個選項一起,如下面的範例指令。
第一個指令將選擇第1,第2,第3和第4個欄位。
第二個指令將選擇第3,第4和第5個欄位。
最後一個指令將顯示第2,第3,第4,第6和第10個欄位。
# cut -d":" -f1-4 < /etc/passwd # cut -d":" -f3-5 < /etc/passwd # cut -d":" -f2-4,6,10 < /etc/passwd
要取得除一個欄位之外的所有欄位的值,需要使用下列指令。例如,如果我們需要選擇所有列而不是6列。
# cut -d":" --complement -s -f6 < /etc/passwd
3、從檔案中選擇單一字元
除了欄位之外,我們還可以根據單一字元從檔案中選擇值,而使用字元則不需要指定分隔符號。
#cut -c1 </ etc / passwd r b d a l s s
同樣,我們也可以指定多個逗號分隔字元或字元範圍。
#cut -c1,2,3,6,7 </ etc / passwd #cut -c1-3,6,7 </ etc / passwd
這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的Linux教學影片專欄!
以上是Linux cut指令的用法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!