[[email protected] ~]# cut [選項] 檔案名
作用:提取(顯示或檢視)檔案中的哪幾列。
局限性:它不能提取多個空格分割的列,它可以識别的分隔符預設是制表符。
選項:
-f 列号:提取第幾豎列。這個選項是必須選項。
-d 分隔符:按照手工指定的分隔符分割列。分隔符可以用雙引号括起來。
示例:
[root@localhost ~]# vi student.txt
ID Name gender Mark
Liming M
Sc M
Gao M
[root@localhost ~]# cut -f 2 student.txt
提取該檔案中的第列。(采用預設的制表符分割列)
[root@localhost ~]# cut -d : -f 2,3 student.txt
提取該檔案中的第列和第列。(提取多列之後,會自動在列之間加上分隔符,然後再顯示)
[root@localhost ~]# cut -d : -f 1,2,3 student.txt
提取該檔案中的第列到第列。
[root@localhost ~]# cut -d ":" -f 1,3 /etc/passwd
提取該檔案中的第列到第列。
cut指令是提取檔案中的列,而grep指令是提取檔案中的行,是以,這兩個指令經常需要配合使用。
示例:
[root@localhost ~]# cat /etc/passwd | grep /bin/bash | grep -v root | cut -d ":" -f 1
提取/etc/passwd檔案中所有普通使用者的使用者名。
[root@localhost ~]# grep /bin/bash /etc/passwd | grep -v root | cut -d : -f 1
作用同上。
對于多個空格分割的列,無法用cut指令得到我們預期的結果。比如下面這條指令的顯示結果就很尴尬。
[root@localhost ~]# df -h | cut -d " " -f 1,3