linux – 如何grep整行,传递给sed,删除行?

linux – 如何grep整行,传递给sed,删除行?,第1张

概述以下命令将查找字符串的所有出现并删除找到此字符串的文件的内容. find / -maxdepth 1 -xdev -type f -exec grep -i "stringtofind" -l {} \; -exec sed -i '/./d' {} \; 我已经尝试修改它只是删除找到字符串的行但无法使其工作. 例如测试文件: blah blah blahblah blah blah tests 以下命令将查找字符串的所有出现并删除找到此字符串的文件的内容.

find / -maxdepth 1 -xdev -type f -exec grep -i "stringtofind" -l {} \; -exec sed -i '/./d' {} \;

我已经尝试修改它只是删除找到字符串的行但无法使其工作.

例如测试文件:

blah blah blahblah blah blah teststringteststringblah blah blahblah blah blah

它将删除第2行和第3行,并将文件保留为行之间没有间隙:

blah blah blahblah blah blah
解决方法 这里不需要grep sed -i’/ teststring / ID’文件删除文件中包含teststring(不区分大小写)的所有行,所以只需将它与find结合使用:

find . -maxdepth 1 -xdev -type f -exec sed -i '/teststring/ID' {} \;

sed演示:

$cat fileblah blah blahblah blah blah teststringteststringblah blah blahblah blah blah$sed '/teststring/ID' fileblah blah blahblah blah blah
总结

以上是内存溢出为你收集整理的linux – 如何grep整行,传递给sed,删除行?全部内容,希望文章能够帮你解决linux – 如何grep整行,传递给sed,删除行?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1021939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存