• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

国民时代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Linux命令: cut

作用:

  从名字看,就是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

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

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

 

例子:

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

[root@linux /]# echo "中华人民共和国" | cut -n -b2,4,6 --output-delimiter="-"  
华-民-和

 

本篇文章出自“国民时代”,转载请注明转载出处。

posted on 2019-08-17 15:08  国民时代  阅读(336)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3