Bash 注释文件中两个标记之间的多行

Bash 注释文件中两个标记之间的多行,bash,Bash,假设我有一个这样的文件 blah blah MARKER 1 blah blah blah MARKER 2 blah 我想找一个单行命令awk?塞德?在bash中更改它 blah blah # MARKER 1 # blah # blah # blah # MARKER 2 blah 根据anubhava建议更新: awk '/^MARKER 1/,/^MARKER 2/{$0 = "#" $0} 1' testt blah blah #MARKER 1 #blah #blah #blah

假设我有一个这样的文件

blah
blah
MARKER 1
blah
blah
blah
MARKER 2
blah
我想找一个单行命令awk?塞德?在bash中更改它

blah
blah
# MARKER 1
# blah
# blah
# blah
# MARKER 2
blah

根据anubhava建议更新:

awk '/^MARKER 1/,/^MARKER 2/{$0 = "#" $0} 1' testt
blah
blah
#MARKER 1
#blah
#blah
#blah
#MARKER 2
blah
在sed中也是如此


+但是考虑AWK’/^标记1 /,/^标记2 / { $ 0=$0 } 1’文件,这已经被问了100s次。您是否尝试过搜索?它是否总是在标记1和标记2之间,或者可能还有其他标记?我想这可以与sed-I一起使用?
$ sed '/^MARKER 1/,/^MARKER 2/s/^/#/' file

blah
blah
#MARKER 1
#blah
#blah
#blah
#MARKER 2
blah