Linux提取命令 Cut

cut命令属于管道命令家族中的一员。cut属于提取命令,将一段数据经过分析后提取出我们想要的那些数据。一般情况下提取信息通常是针对一行一行来分析的。cut的意思就是切,没错这个命令的用处就是将一段信息给它切出来。其处理的信息是以行为单位的。下面我们来看cut命令的用法。

$ cut [选项]…

关于cut命令的选项,我们分组来说明。

选项一

-d : 后面接分割字符。用处是将一行数据以什么字符分割。
-f : 依据-d的分隔符将一段信息分割成数段,用该选项指定取出第几段。

说明:

  1. –d 和 –f 必须一起使用,否则命令将无法正确执行;

  2. –f 后面接的字符分一下几种情况

N 选取第N段数据输出,从1开始计数;
N- 从第N段数据开始直至最后一段;
N,M 截取N和M两个字段的数据
N-M 从第N段数据开始直到第M段;
-M 从第1段直到M段;

我们来看这样的一个例子:查看/etc/passwd 文件的不同字段的几种情况。

$ cat /etc/passwd | cut –d ‘:’ –f 3,5  #截取第三和第五个字段的数据
$ cat /etc/passwd | cut –d ‘:’ –f 3-5  #截取第三到第五个字段的数据
$ cat /etc/passwd | cut –d ‘:’ –f 3    #截取第三个字段的数据
$ cat /etc/passwd | cut –d ‘:’ –f 3-   #截取从第三个字段(包括第三个字段)以后的数据
$ cat /etc/passwd | cut –d ‘:’ –f -5   #截取从第一个字段开始到第五个字段的数据

这里我们说明一下,在对截取的数据显示的时候,各段数据之间默认用-d 指定的字符进行连接

0:root
1:bin

我们可以通过选项—output-delimiter指定连接的字符

$ cat /etc/passwd | cut –d ‘:’ –f 3,5 –output-delimiter=;’
0;root
1;bin

这里还有一个选项需要注意:–only-delimited 这表示只显示带有-d指定字符的行。什么意思呢?就是说,我们使用-d指定了字符’0’作为分隔符,但是有的数据没有’0’,默认情况下没有’0’的数据也是会显示的。如果我们不想让其显示可以使用—only-delimited。

$ cat /etc/passwd | wc –l
31  #该文件有31行数据
$ cat /etc/passwd | cut –d ‘0’ –f 3,5 | wc –l
31  #结果同样有31行,但是我们查看该文件内容发现有的行并没有’0’
$ cat /etc/passwd | cut –d ‘0’ –f 3,5 –only-delimited | wc –l
10  #结果就只剩下10行,这10行数据就都是含有’0’的我们想要的数据了

选项二

-c 以字符(char)为单位截取固定字符区间
-b 以字节(byte)为单位截取固定字节区间
-n 该选项和-b一起使用,表示不分割占多个字节的字符。比如说一个汉字占多个字符,这个汉字是不会分割成多个字节进行截取的。

说明:1. -b和-c不能同时使用

  1. -c 和 –b后面指定的数字和-f的相同

看下面的例子

$ cat /etc/passwd | cut –c 12- //截取12个字符以后的字符串
$ cat /etc/passwd | cut –bn 12- //截取12个字节以后的所有字节的字符

cut 主要的用途在于将同一行里面的数据进行分解,最常使用在分析一些数据或文字数据的时候。

关于cut的用法我们就介绍这么多。希望本文对大家有所帮助。
更多linux命令,可查看迹忆客——linux管道命令系列

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迹忆客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值