我如何通过使用grep和find命令替换字符串来更新文件的内容

时间:2018-11-05 23:12:54

标签: linux grep find

我正在特定子目录下找到带有“负责任”字样的XML文件。搜索工作正常,如下所示。

find . -name '*.xml' -exec grep -H 'responsible' {} \;

./dir1/d1.xml<responsible><></responsible>
./dir2/d2.xml<responsible><SYSTEM></responsible>
./dir3/d3.xml<responsible><SYSTEM></responsible>

...等等。

有没有一种方法可以用空白替换所有出现的SYSTEM。

我正在寻找的结果是:

./dir1/d1.xml<responsible><></responsible>
./dir2/d2.xml<responsible><></responsible>
./dir3/d3.xml<responsible><></responsible>

1 个答案:

答案 0 :(得分:1)

我会用perl馅饼

perl -p -i -e 's/<responsible><SYSTEM><\/responsible>/<responsible><><\/responsible>/'   `find ./ -name *.xml`
相关问题