linux - bash命令从文件中删除两个 block 之间的内容

标签 linux bash sed awk grep

如何从包含有特定单词的黑白两行的文件中删除所有内容?

例如-

文件:

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

Outstanding ..
dd 
gswrff
dddfdd
count
text3
text4
text5     

输出应该是这样的:

 text2
 text1
 text3
 text3
 text4
 text5

最佳答案

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

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

输出:

text2
text1  
text3

text3
text4
text5  

关于linux - bash命令从文件中删除两个 block 之间的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614061/

相关文章:

linux - 如何执行 url 并从 bash shell 脚本解析它?

Linux I/O 重定向

php - 从病毒中清除 php 文件

xml - 如何使用 SED (linux) 从 XML 文件中删除 CDATA

unix - sed 删除字符串开头/结尾处的重复字符和某些字符

regex - Sed:如何将反向引用转换为变量名?

linux - 将项目添加到启动脚本并以特定用户身份运行?

ruby-on-rails - 为什么我的 Cron 作业不能正常工作?

bash - 强制在Docker镜像中更改时区

python - 无法使用 python --version 在 linux 上使用 Popen 获取 python 版本