【问题标题】:Remove specific line by line number from several files从多个文件中逐行删除特定的行号
【发布时间】:2014-06-21 03:58:27
【问题描述】:

我想删除几个文件的第二行(大约有 200 个)。所有文件都以 Glo 开头,所以我想做一个命令或 shell 来删除该文件的所有第二行:

例子:

Glo1:
1 AAA
2 BBB
3 the third line

Glo2:
1 DDD
2 RRR
3 the third line

我想要的是只删除第二行,所以文件看起来像这样:

Glo1:
1 AAA
2 the third line

Glo2:
1 DDD
2 the third line

问候!

【问题讨论】:

  • 必须用vi/vim来完成吗?您对其他 shell 解决方案持开放态度吗?

标签: linux shell command-line vi


【解决方案1】:

既然你提到了使用外壳:

sed -i '3d' Glo*

【讨论】:

  • 或全局sed '3d' Glo*
  • 但是您还需要-i 来修改它们。否则,这将输出到 STDOUT。
  • 抱歉,我刚刚意识到我缺少就地编辑。
  • 就地编辑文件。读取他们的数据,根据其 sed 命令对其进行更改,然后将更改后的内容直接写回文件中。如果您不知道自己在做什么,请谨慎使用。 :)
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多