cut命令使我們“切出”一個文件中每行指定的部分。你既可以直接通過後接文件名來選取,也可以通過管道符選取其他程序的輸出。
下面是一些基礎的例子
選取字符
-c選項讓cut命令從它的輸入中選取指定的字符。看一下:
$ echo "one:two:three" | cut -c2 n $ echo "one:two:three" | cut -c1-5 one:t $
這個例子中-c2是讓cut選取第二個字符而-c1-5是選取一個字符範圍(第一到第五)。
也可以用,來選擇指定字符。例如,-c1,3,5會從輸入的每一行中選取第一、第三和第五個字符。
選取區域
我們也可以選取指定列或者區域。看一下:
$ echo "one:two:three" | cut -d":" -f1 one $ echo "one:two:three" | cut -d":" -f2 two $ echo "one:two:three" | cut -d":" -f1-2 one two $
-d":"選項讓cut選取以:字符結尾的區域。-f1讓cut選擇第一個區域(以:爲界),-f2選擇第二個區域,-f1-2是第一和第二區域。
儘管默認cut假定輸入區域是以tab字符爲界的,我們還是可以不用-d只用-f選項。
實用的例子
/etc/passwd文件包含了系統上每個用戶的信息,包括用戶名和家目錄。文件格式非常標準。下面的例子單獨會打印出系統上所有用戶的家目錄。
$ cut -d":" -f1,6 /etc/passwd
user1:/home/user1
user2:/home/user2
... etc. etc. ...
$
/etc/passwd文件是由:界定區域的。
第一個選取區域包含用戶名,第二個選取區域爲包含用戶家目錄的第六個區域.