和awk差不多的功能
例1
$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -d : -f 1,5`shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aroot:root
上面的例子中,把 root:x:0:0:root:/root:/bin/bash 重新導向到cut命令裡,-d表示分隔字元,這裡使用冒號: 作為分隔字元,-f 表示欄位,選擇了第1,和第5個欄位,
例 2,只列印第一個欄位field
$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -d : -f 1`shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aroot
例 3,列印第一個欄位以後的所有欄位,包含第一個欄位
shuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -d : -f 1-`shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aroot:x:0:0:root:/root:/bin/bashshuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -d : -f 3-` // 列印第3個欄位後的所有欄位,包含第三個欄位shuohailhl@shuohailhl-PC /cygdrive/d$ echo $a0:0:root:/root:/bin/bash
例4 ,截取第2到第4個欄位
shuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -d : -f 2-4`shuohailhl@shuohailhl-PC /cygdrive/d$ echo $ax:0:0
例 5 截取指定個數的字元
shuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c 2-5 ` // 截取第2到第5個字元shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aoot:shuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c 2-7 ` // 截取第2到第7個字元shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aoot:x:shuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c -2 ` // 截取前兩個字元shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aroshuohailhl@shuohailhl-PC /cygdrive/d$ a=`echo root:x:0:0:root:/root:/bin/bash | cut -c 2- ` // 截取第2個以後的shuohailhl@shuohailhl-PC /cygdrive/d$ echo $aoot:x:0:0:root:/root:/bin/bash
例 6 指定檔案,最後一個參數是檔案名稱
$ cat pass.txtroot: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/nologinshuohailhl@shuohailhl-PC /cygdrive/d$ cut -d : -f 1-3 ./pass.txtroot:x:0bin:x:1daemon:x:2adm:x:3