我正在特定的子目录下找到XML文件,其中包含“responsible”单词。搜索工作正常,如下所示。
find . -name '*.xml' -exec grep -H 'responsible' {} \;
./dir1/d1.xml<responsible><></responsible>
./dir2/d2.xml<responsible><SYSTEM></responsible>
./dir3/d3.xml<responsible><SYSTEM></responsible>
…等等。
有没有办法把所有出现的系统替换成空白的。
我正在寻找的结果是:
./dir1/d1.xml<responsible><></responsible>
./dir2/d2.xml<responsible><></responsible>
./dir3/d3.xml<responsible><></responsible>
最佳答案
我会用perl派
perl -p -i -e 's/<responsible><SYSTEM><\/responsible>/<responsible><><\/responsible>/' `find ./ -name *.xml`
关于linux - 我如何通过使用grep和find命令替换字符串来更新文件的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53163654/