使用sed获取不在两行之间的文件内容
Using sed to get the content of a file that is not between two lines
我有一个这样的文件:
name 1
name 2
name 3
#START#
no name 1
no name 2
#END#
name 4
我正在寻找 sed -n '/#START#/,/#END#/p'
的相反结果:
name 1
name 2
name 3
name 4
秘诀是什么?
sed '/#START#/,/#END#/d'
删除指定范围内的行。
这里有一些awk
解决方案:
awk '/#START#/ {f=1} !f; /#END/ {f=0}' file
name 1
name 2
name 3
name 4
你也可以使用 range,比如 sed
,但是如果你有更多的东西要测试,range 就不那么灵活了:
awk '/#START#/,/#END/ {next} 1' file
name 1
name 2
name 3
name 4
我有一个这样的文件:
name 1
name 2
name 3
#START#
no name 1
no name 2
#END#
name 4
我正在寻找 sed -n '/#START#/,/#END#/p'
的相反结果:
name 1
name 2
name 3
name 4
秘诀是什么?
sed '/#START#/,/#END#/d'
删除指定范围内的行。
这里有一些awk
解决方案:
awk '/#START#/ {f=1} !f; /#END/ {f=0}' file
name 1
name 2
name 3
name 4
你也可以使用 range,比如 sed
,但是如果你有更多的东西要测试,range 就不那么灵活了:
awk '/#START#/,/#END/ {next} 1' file
name 1
name 2
name 3
name 4