bash命令从文件中删除两个块的内容

时间:2013-10-27 02:39:02

标签: linux bash sed awk grep

如何删除包含b / w两行中具有特定单词的文件中的所有内容?

例如 -

文件:

Outstanding ..
dd  
gd
count ...
text2
text1  
text3

Outstanding ..
dd 
gswrff
dddfdd
count
text3
text4
text5     

输出应该是这样的:

 text2
 text1
 text3
 text3
 text4
 text5

2 个答案:

答案 0 :(得分:1)

如果您希望仅捕获其中包含text字词的行:

grep text < file

sed -n /text/p < file

awk '/text/ { print }' < file

答案 1 :(得分:1)

问题不是很清楚。但是如果你想删除2个特定单词之间的文本,那么你可以使用这个sed one-liner:

sed -i.bak '/Outstanding/,/count/d' file

<强>输出:

text2
text1  
text3

text3
text4
text5