xml - 如何从所有 .xml 文件中删除所有包含字符串的行?

标签 xml linux unix command-line terminal

我想从当前目录树中的所有 .xml 文件中删除所有包含字符串“abcfk”的行。 我试过 find 。 -名称“*.xml” | xargs sed -i 's/abcfk//g' 但有了这个我只能替换..但不能删除该行。 有什么建议吗?

最佳答案

你可以这样做:

sed -i '/abcfk/d' $(find . -name "*.xml")

请注意,s/abcfk//g 将保留空行,而使用 /abcfg/d 来删除带有 abcfg 的行。或者:

find . -name "*.xml" -exec sed -i '/abcfk/d' {} +

关于xml - 如何从所有 .xml 文件中删除所有包含字符串的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49421200/

相关文章:

c - 使用系统调用时遇到问题

linux - 什么是 .pid 文件,它包含什么?

c# - XML 阅读器未正确读取子节点

xml - 使用 local-name() 获取 XSLT 中的第一个子节点

linux - Tomcat什么是Thread Total Started Count

c - 向需要 root 权限的 Linux 添加新的系统调用

c# - 将 xml 数据发送到 Web 服务而不是使用 CDATA 的最佳方法是什么?

SQL Server -XML 节点不返回多条记录

json - 根据内容重命名 JSON 文件

linux - 联机帮助页中 Unix 命令名称后括号中的数字是什么意思?