如何在 Linux 上查找和替换诸如“something=“string””之类的模式?
How to find and replace on patterns like ‘something=“string”’ on Linux?
我有一个 XML 文件,其中有如下标签。
<project name=“something” revision=“abc” />
<project name=“something2” revision=“xyz” />
...
如何在 Linux (Ubuntu) 上用我自己的字符串替换‘revision=“string here”’?
您可以使用 sed
进行原地替换。假设您想将 revision="abc"
替换为 revision="foobar"
结果命令将是(假设 XML 在名为 foo.xml
的文件中)
cat foo.xml | sed 's/revision="abc"/revision="foobar"/g'
然后您将对需要进行的每一行/替换重复此操作。
完成这项工作的正确工具是 XSLT。有一点学习曲线,但它非常强大,你真的应该使用 XML-aware 工具来处理 XML 文件(如果你使用非 XML-aware 工具,如 sed , 产生无效 XML).
的风险很大
我有一个 XML 文件,其中有如下标签。
<project name=“something” revision=“abc” />
<project name=“something2” revision=“xyz” />
...
如何在 Linux (Ubuntu) 上用我自己的字符串替换‘revision=“string here”’?
您可以使用 sed
进行原地替换。假设您想将 revision="abc"
替换为 revision="foobar"
结果命令将是(假设 XML 在名为 foo.xml
的文件中)
cat foo.xml | sed 's/revision="abc"/revision="foobar"/g'
然后您将对需要进行的每一行/替换重复此操作。
完成这项工作的正确工具是 XSLT。有一点学习曲线,但它非常强大,你真的应该使用 XML-aware 工具来处理 XML 文件(如果你使用非 XML-aware 工具,如 sed , 产生无效 XML).
的风险很大