cut 命令用于文本处理。通过选择列,可以使用此 命令从文件中提取文本的一部分。 |
Cut基本语法:
cut OPTION... [FILE]...
选项:
cut最常用的选项是 -d和 -f的组合。它基本上会根据特定的分隔符和列出的字段提取内容。
下面的代码仅使用分隔符 :打印 /etc/passwd文件中每一行的第一个字段。
[root@localhost ~]# cut -d ':' -f 1 /etc/passwd root bin daemon adm lp sync shutdown …
下面的代码从 /etc/passwd文件提取第一和第六个字段:
[root@localhost ~]# grep '/bin/bash' /etc/passwd| cut -d ':' -f 1,6 root:/root bob:/home/bob user01:/home/user01
要显示字段的范围,请指定以 -分隔的开始字段和结束字段,如下所示:
[root@localhost ~]# grep '/bin/bash' /etc/passwd|cut -d ':' -f 1-4,6,7 root:x:0:0:/root:/bin/bash bob:x:1000:1001:/home/bob:/bin/bash user01:x:1001:1002:/home/user01:/bin/bash
在下面的代码中,打印所有字段,除了 /etc/passwd文件中的第二个字段:
[root@localhost ~]# grep '/bin/bash' /etc/passwd|cut -d ':' --complement -f 2 root:0:0:root:/root:/bin/bash bob:1000:1001::/home/bob:/bin/bash user01:1001:1002::/home/user01:/bin/bash
要指定输出分隔符,请使用
--output-delimiter选项。输入分隔符由
-d选项指定,默认情况下输出分隔符与输入分隔符相同。
先看一下没有使用
--output-delimiter选项,是什么样子的:
[root@localhost ~]# cut -d ':' -f1,7 /etc/passwd|sort adm:/sbin/nologin avahi:/sbin/nologin bin:/sbin/nologin bob:/bin/bash chrony:/sbin/nologin daemon:/sbin/nologin dbus:/sbin/nologin ftp:/sbin/nologin games:/sbin/nologin grafana:/sbin/nologin halt:/sbin/halt lp:/sbin/nologin mail:/sbin/nologin nfsnobody:/sbin/nologin nobody:/sbin/nologin ntp:/sbin/nologin operator:/sbin/nologin …
现在使用 --output-delimiter选项,输出分隔符使用’ ‘空格分隔,看一下是什么样子的:
[root@localhost ~]# cut -d ':' -f1,7 --output-delimiter=' ' /etc/passwd|sort adm /sbin/nologin avahi /sbin/nologin bin /sbin/nologin bob /bin/bash chrony /sbin/nologin daemon /sbin/nologin dbus /sbin/nologin ftp /sbin/nologin games /sbin/nologin grafana /sbin/nologin halt /sbin/halt lp /sbin/nologin mail /sbin/nologin nfsnobody /sbin/nologin nobody /sbin/nologin ntp /sbin/nologin operator /sbin/nologin
cut命令的一个限制是它不支持指定多个字符作为分隔符。多个空格被视为多个字段分隔符,必须使用tr命令才能得到所需的输出。
本文原创地址: https://www.linuxprobe.com/cut-example.html
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。