加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux命令: cut

发布时间:2020-12-14 00:14:21 所属栏目:Linux 来源:网络整理
导读:作用: 从名字看,就是cut掉每行中部分列,并默认打印在标准输出上。 不带任何选项的cut命令,是把所有文件连接起来,一起输出到标准输出上。 cut必须至少提供一个选项。 选项: -d,?--delimiter=DELIM ?指定域的分隔符。不指定,默认TAB。 -f,-fn,指定显示

作用:

  从名字看,就是cut掉每行中部分列,并默认打印在标准输出上。

  不带任何选项的cut命令,是把所有文件连接起来,一起输出到标准输出上。

  cut必须至少提供一个选项。

选项:

  -d,?--delimiter=DELIM ?指定域的分隔符。不指定,默认<TAB>。

  -f,-fn,指定显示的列

  -b,-bn,指定显示的字节

  -c,-cn,指定显示的字符。

  -f、-b、-c 都是表示按什么作为一列的表示,其后的n,可以有这几种表示:

N-:从第N个字节、字符、字段到结尾;

N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;

-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:

?  --complement ,表示指定条件列的其他所有列。是求补集的意思。

  --output-delimiter=string , 用这个参数指定的string,替换原文中的列分隔符来显示输出。

  -s,--only-delimited,不含列分隔符的行不打印。如a文件内容如下:

12345678
12345

[[email?protected] master]# cut -d6 -f1 a ? # 用6做列分隔符,而第二行没有6,仍打印出来。
12345
12345

[[email?protected] /]# cut -d6 -f1 -s a  # 加了-s后,则没6的行就不打印。
12345
[[email?protected] /]# cat a
12345678
12345

?

例子:

[[email?protected] /]# echo "中华人民共和国" | cut -c2,4,6    # 和cut -n -b2,6 等效。-n -b 就是不要按字节来分列。
华民和

[[email?protected]?/]# echo "中华人民共和国" | cut -n -b2,6 --output-delimiter="-" ?华-民-和

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读