【一天一个shell命令】【cut】
1. 命令简介
cut根据指定的定界符,切分文件,并将选中的列输出到标准输出。
2. 用法
cut [选项]... [文件]...
打印输入行的选中的parts 到标准输出
3. 选项
4. 示例
以密码/etc/passwd为例
[root@xqzt ~]# tail -n 5 /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:992:990::/run/gnome-initial-setup/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
vboxadd:x:991:1::/var/run/vboxadd:/bin/false
wangshengzhuang:x:1000:1000:wangshengzhuang:/home/wangshengzhuang:/bin/bash
示例1:-f 指定字段
打印用户名
[root@xqzt ~]# tail -n 5 /etc/passwd |cut -d ":" -f 1,6,7
nfsnobody
gnome-initial-setup
tcpdump
vboxadd
wangshengzhuang
示例2:-f 指定多个字段
打印用户名、home目录、shell
[root@xqzt ~]# tail -n 5 /etc/passwd |cut -d ":" -f 1,6,7
nfsnobody:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:/run/gnome-initial-setup/:/sbin/nologin
tcpdump:/:/sbin/nologin
vboxadd:/var/run/vboxadd:/bin/false
wangshengzhuang:/home/wangshengzhuang:/bin/bash
示例3: -f n-m打印第n-m个字段
打印用户ID和组ID
[root@xqzt ~]# tail -n 5 /etc/passwd |cut -d ":" -f 3-4
65534:65534
992:990
72:72
991:1
1000:1000
[root@xqzt ~]# tail -n 5 /etc/passwd |cut -d ":" -f 3,4
65534:65534
992:990
72:72
991:1
1000:1000
示例4: --output-delimiter指定输出使用新的分界符
[root@xqzt ~]# tail -n 5 /etc/passwd |cut -d ":" -f 3,4 --output-delimiter=" | "
65534 | 65534
992 | 990
72 | 72
991 | 1
1000 | 1000
示例5:--complement 补全选中的部分
打印除了密码、用户id 和组id 之外的所有列
[root@xqzt ~]# tail -n 5 /etc/passwd |cut -d ":" -f 2-4 --complement
nfsnobody:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup::/run/gnome-initial-setup/:/sbin/nologin
tcpdump::/:/sbin/nologin
vboxadd::/var/run/vboxadd:/bin/false
wangshengzhuang:wangshengzhuang:/home/wangshengzhuang:/bin/bash