使用 sed 从文件开头注释到模式匹配的行

Ram*_*kar 5 sed gvim

我搜索了一个模式,比如“START OF ARAMBOL”,它在一个文件中匹配。现在我想注释从第 1 行到当前匹配模式第 1 行的每一行。我必须为 200 多个文件执行此操作。

我也可以使用 perl 来做到这一点,但是有什么好的 sed 方法可以做到这一点。

谢谢

Htt*_*tqm 4

作为演示这一概念的一句台词:

echo -e 'a\nb\nc\nPATTERN\nd\ne\nf' | sed '0,/PATTERN/ s/^/#/'
Run Code Online (Sandbox Code Playgroud)

你只需要适应你的环境:

  • 至于“模式”
  • 我假设'#'作为注释字符
  • 以及如何将其应用到您的所有文件。如果它们都是“fileXXX.txt”,您可以运行:sed -i '0,/PATTERN/ s/^/#/' file*txt