input.txt
:
blah1
blah2
start_pattern
blah3
blah4
blah5
end_pattern
blah6
blah7
我希望
input.txt
成为:blah1
blah2
end_pattern
blah6
blah7
我尝试了以下方法,但是没有用。
sed -i "/start_pattern/, /end_pattern/{$!d}" input.txt
最佳答案
This question处理您的问题:
$ sed '/start_pattern/,/end_pattern/{/end_pattern/!d}' foo.txt
blah1
blah2
end_pattern
blah6
blah7
关于awk - 使用sed删除除结束模式以外的行范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633308/