【一天一个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

参考

posted on 2016-09-09 22:51  小强斋太  阅读(2462)  评论(0编辑  收藏  举报

导航