【发布时间】:2022-01-08 02:56:41
【问题描述】:
我想在文件中每一行的开头插入一个“#”。但仅限于部分之间的那些行:
################## PATTERN #1 ##############
blah 1243234
blah asdfsyxfvb
blah asdfasdfg
################## PATTERN #2 ##############
-->
################## PATTERN #1 ##############
#blah 1243234
#blah asdfsyxfvb
#blah asdfasdfg
################## PATTERN #2 ##############
由于我对 awk 和 sed 的了解有限,我几乎得到了它。但我正在努力将输出合并到我的文件中。
awk '/################## PATTERN #1/{flag=1;next}/################## PATTERN #2/{flag=0}flag' myinputfile | sed 's/^/#/'
提前感谢您帮助我。
P. S. 因为我是新来的:如果有人有更好的标题/标签的想法,请告诉我,我会改变它。
【问题讨论】:
-
如果“pattern 1”行存在但“pattern 2”行不存在,应该怎么办?直到文件末尾的行应该被注释掉还是没有被注释掉的行或其他什么?
-
两种模式始终存在。两种解决方案都可以完美运行。谢谢你的回答。