用于替换文件文本的Linux命令

时间:2014-07-10 13:48:37

标签: linux string shell text replace

我的文件名为' server.cfg'。有字符串'端口7788' 7788可以是任意数字(7799,7711等),我需要更改端口到7777之后的数字,我该怎么做?我需要ssh命令,使用debian。感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用sed,如下所示:

sed -i 's/port \([0-9]*\)/port 7777/' server.cfg

答案 1 :(得分:0)

听起来你需要sed。如果要更改一个特定实例,请使用:

$ sed -i 's/port 7788/port 7777/g' server.cfg

如果您想多次更改未知号码,请使用:

$ sed -i 's/port \([0-9]*\)/port 7777/' server.cfg

如果您只想更改找到的第一个实例,请使用:

$ sed -i '0,/port \([0-9]*\)/{s/port \([0-9]*\)/port 7777/}' server.cfg

答案 2 :(得分:0)

你应该使用带有sed:

的regegex
sed -i 's/port [[:digit:]]\{4\}/port 7777/g' server.cfg

这将用7777

替换所有端口号(带4位数)