设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1222|回复: 3
收起左侧

cut命令的使用实例

[复制链接]
发表于 2021-1-19 08:57:36 | 显示全部楼层 |阅读模式
cut命令用于文本处理。通过选择列,可以使用此命令从文件中提取文本的一部分。
cut命令的选项

Cut基本语法:

cut OPTION... [FILE]...

选项:

  • -f : 通过指定哪一个字段进行提取。cut命令使用“TAB”作为默认的字段分隔符。
  • -d : “TAB”是默认的分隔符,使用此选项可以更改为其他的分隔符。
  • --complement : 此选项用于排除所指定的字段。
  • --output-delimiter : 更改输出内容的分隔符。
如何分割

cut最常用的选项是-d和-f的组合。它基本上会根据特定的分隔符和列出的字段提取内容。

下面的代码仅使用分隔符:打印/etc/passwd文件中每一行的第一个字段。

[root@localhost ~]# cut -d ':' -f 1 /etc/passwdrootbindaemonadmlpsyncshutdown…

下面的代码从/etc/passwd文件提取第一和第六个字段:

[root@localhost ~]# grep '/bin/bash' /etc/passwd| cut -d ':' -f 1,6root:/rootbob:/home/bobuser01:/home/user01

要显示字段的范围,请指定以-分隔的开始字段和结束字段,如下所示:

[root@localhost ~]# grep '/bin/bash' /etc/passwd|cut -d ':' -f 1-4,6,7root:x:0:0:/root:/bin/bashbob:x:1000:1001:/home/bob:/bin/bashuser01:x:1001:1002:/home/user01:/bin/bash排除所指定的字段

在下面的代码中,打印所有字段,除了/etc/passwd文件中的第二个字段:

[root@localhost ~]# grep '/bin/bash' /etc/passwd|cut -d ':' --complement -f 2root:0:0:root:/root:/bin/bashbob:1000:1001::/home/bob:/bin/bashuser01:1001:1002::/home/user01:/bin/bash如何指定一个输出内容的分隔符

要指定输出分隔符,请使用--output-delimiter选项。输入分隔符由-d选项指定,默认情况下输出分隔符与输入分隔符相同。
先看一下没有使用--output-delimiter选项,是什么样子的:

[root@localhost ~]# cut -d ':' -f1,7 /etc/passwd|sortadm:/sbin/nologinavahi:/sbin/nologinbin:/sbin/nologinbob:/bin/bashchrony:/sbin/nologindaemon:/sbin/nologindbus:/sbin/nologinftp:/sbin/nologingames:/sbin/nologingrafana:/sbin/nologinhalt:/sbin/haltlp:/sbin/nologinmail:/sbin/nologinnfsnobody:/sbin/nologinnobody:/sbin/nologinntp:/sbin/nologinoperator:/sbin/nologin…

现在使用--output-delimiter选项,输出分隔符使用’ ‘空格分隔,看一下是什么样子的:

[root@localhost ~]# cut -d ':' -f1,7 --output-delimiter=' ' /etc/passwd|sortadm /sbin/nologinavahi /sbin/nologinbin /sbin/nologinbob /bin/bashchrony /sbin/nologindaemon /sbin/nologindbus /sbin/nologinftp /sbin/nologingames /sbin/nologingrafana /sbin/nologinhalt /sbin/haltlp /sbin/nologinmail /sbin/nologinnfsnobody /sbin/nologinnobody /sbin/nologinntp /sbin/nologinoperator /sbin/nologin总结

cut命令的一个限制是它不支持指定多个字符作为分隔符。多个空格被视为多个字段分隔符,必须使用tr命令才能得到所需的输出。


发表于 2021-1-19 09:45:31 | 显示全部楼层
cut   用的场景 是什么  基本上用不到吧?
板凳 2021-1-19 09:45:31 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2021-1-19 11:43:46 | 显示全部楼层
好东西谢谢楼主分享
地板 2021-1-19 11:43:46 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 00:47 , Processed in 0.055927 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表