我有一个带有以下行的文件server.xml -
Server port="8007" shutdown="SHUTDOWN"
我想搜索8007
并将其替换为其他数字,例如:8010
。
我该怎么办?
答案 0 :(得分:0)
试试这个:
sed 's/8007/8010/g' yourfile
答案 1 :(得分:0)
要进行替换,您可以使用sed。我想新的“端口”存储在一个变量中。因此,两种解决方案都可以与GNU Sed一起使用:
$ a=$'Server port="8007" shutdown="SHUTDOWN"';echo "$a"
Server port="8007" shutdown="SHUTDOWN"
$ newport="8010"
$ sed -r "s/([0-9]+)/$newport/g" <<<"$a"
Server port="8010" shutdown="SHUTDOWN"
# Alternative:
$ sed -r 's/(port=")(.*)(" .*)/\1'"$newport"'\3/g' <<<"$a"
sed -r
(或sed -E
)启用扩展的正则表达式组
如果您需要就地应用替换(在文件上),您还需要在sed(-i
)中使用sed -r -i.bak "...."
开关