linux中查看檔案及內容處理的cut命令介紹,linuxcut
1、命令說明:
cut命令其功能是將檔案的每一行按指定分隔字元分割並輸出。
2、文法:
cut [選項]... [檔案清單]...
3、執行個體:
舉個例子,在檔案 /etc/passwd 中,每行都是使用 6 個冒號隔開的 7 列文本:
[root@CentOS ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/halt......(略去內容)......
如果我們想提取出特定的資訊,比如我們需要列印出系統中的所有使用者:
[root@CentOS ~]# cat /etc/passwd | cut -f 1 -d ':'????# -f 選項指定列,這裡代表提取第一列; -d 選項用於指定分隔字元rootbindaemonadmlpsyncshutdownhalt......(略去內容)......
又或者想同時列印出使用者和這個使用者的家目錄:
[root@CentOS ~]# cat /etc/passwd | cut -f 1,6 -d ':'root:/rootbin:/bindaemon:/sbinadm:/var/admlp:/var/spool/lpdsync:/sbinshutdown:/sbinhalt:/sbin.....(略去內容)......
又或者同時列印出每位使用者的登入shell(即使用者登入,所使用的shell):
[root@CentOS ~]# cat /etc/passwd | cut -f 1,6-7 -d ':'root:/root:/bin/bashbin:/bin:/sbin/nologindaemon:/sbin:/sbin/nologinadm:/var/adm:/sbin/nologinlp:/var/spool/lpd:/sbin/nologinsync:/sbin:/bin/syncshutdown:/sbin:/sbin/shutdownhalt:/sbin:/sbin/halt......(略去內容)......
我們可以發現,以上 cut 使用情境中具有一個特點,就是在處理的行中都有特定分隔字元,但如果要處理的行是沒有分隔字元的呢,cut 就沒有用武之地了?答案是否定的,假設我們想要列印出每行第 1 ~ 5 個字元,以及第7 ~ 10個字元的內容,如下所示:
[root@CentOS ~]# cat /etc/passwd | cut -c 1-5,7-10????# 其中 -c 選項表示以字元為單位進行分割root::0:0bin:x1:1:daemo:x:2adm:x3:4:lp:x::7:lsync::5:0shutdwn:xhalt::7:0......(略去內容)......