【问题标题】:shell command to delete range of characters from a lineshell命令从一行中删除字符范围
【发布时间】:2016-08-18 11:17:38
【问题描述】:

我有一个单行 50 个字符的文件。我想使用任何 shell 命令删除字符 12 到 17 和字符 33 到 44。任何人都可以请指导我。

【问题讨论】:

标签: shell awk sed


【解决方案1】:

cut 从文件的每一行中删除部分。来自man cut

-c
指定字符范围

--补码
补充所选字节、字符或字段的集合

这可以帮助打印从第一个到第 11 个字符、从第 18 个到第 32 个以及从第 45 个到结尾:

cut -c -11,18-32,45- yourFile

cut -c 12-17,33-44 text --complement yourFile

【讨论】:

  • 在没有任何解释的情况下发布两个相反的命令有什么意义?
  • 顺便说一句,复仇不需要downvote
  • 取消投票,因为这已经包含一些解释。不过,它会从一个例子中受益
  • cut -c -11,18-32,45- yourFile 这对我有用。非常感谢
猜你喜欢
  • 2017-11-15
  • 2011-06-10
  • 1970-01-01
  • 2023-01-08
  • 2017-07-09
  • 1970-01-01
  • 2012-11-15
  • 2015-11-21
  • 2012-08-14
相关资源
最近更新 更多