linux cut 命令,cut命令的使用实例

导读

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/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命令才能得到所需的输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值