cat 命令替换文本 Linux shell 脚本

cat 命令替换文本 Linux shell 脚本

我有 shell 脚本文件。其中有如下代码:<tag>port:8080</tag>
我想用另一行代码替换此行代码:<tag>port:3128</tag>
我该怎么做?
我用过cat,但它删除了所有代码行,只添加了此行代码。谁能告诉我如何在 shell 脚本中替换文本?
这是我尝试的方法:

cat <<EOF > /home/samples/pom.xml
<tag>port:3128</tag>
EOF

答案1

一般命令是sed -i 's/old/new/g' yourfile
但必须用 来转义特殊字符\

因此命令是:sed -i 's/<tag>port:8080<\/tag>/<tag>port:3128<\/tag>/g' /home/samples/pom.xml

对于路径来说它是::
sed -i 's/<path>home\/user\/location<\/path>/<path>\/user\/tmp\/location2<\/path>/g' /path/to/file

答案2

假设你的文件是当前目录中的 YOURFILE,尝试 sed -i 's/8080/3128/g' YOURFILE

这会将所有出现的 8080 替换为 3128。

相关内容