Bash脚本删除文本文件中的所有行,直到字符串

new*_*log 2 unix bash shell scripting filter

我有一个包含很多单词的文件:

one
two
three
four
tree
house
cat
dog
etc
Run Code Online (Sandbox Code Playgroud)

我想删除所有单词,直到"house"以这样的方式获取:

cat
dog
etc
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 6

sed -n '0,/^house$/d;p' input.txt
Run Code Online (Sandbox Code Playgroud)

  • GNU`sed'支持0作为地址,但其他人不支持.`0,/ regex /`和`1,/ regex /`之间的区别在于,如果正则表达式匹配第一行,0表单将结束范围,但是1表单将等到正则表达式的下一个匹配结束范围. (2认同)