查找并替换 SSH 命令?
Find and replace SSH command?
你好,我需要帮助才能用 ssh 和 sed 替换文件中的一行。
问题如下我有一个字符串例如:
我的字符串=1234
重点是 = 之后并不总是 1234,所以我无法替换该行。
sed -i 's/mystring =/mystring=1234/g' file.ini
当我 运行 时发生了两件事:
- mystring = 12341234(添加数字)
- mystring = 123412345(不要删除它,留在那里)
如果变量 (sed -i 's/mystring=/mystring=1234/g' file.ini)
被执行了两次以上,它所做的就是在末尾添加数字。
这就是为什么我需要替换整行的原因,如果完成超过 1 次,您会看到它始终保持不变,如果不同,则将其更改为在命令。
从已经非常感谢你。
您始终可以匹配和替换整行:
sed -i 's/^mystring=.*/mystring=newvalue/' yourfile
.*
在正则表达式中匹配任意数量的字符,包括 none.
您还可以c
更改包含特定模式的所有行:
sed -i '/^mystring=/c\
mystring=newvalue' yourfile
或者使用 GNU sed:
sed -ie '/^mystring=/c\' -e 'mystring=newvalue' yourfile
你好,我需要帮助才能用 ssh 和 sed 替换文件中的一行。
问题如下我有一个字符串例如:
我的字符串=1234
重点是 = 之后并不总是 1234,所以我无法替换该行。
sed -i 's/mystring =/mystring=1234/g' file.ini
当我 运行 时发生了两件事:
- mystring = 12341234(添加数字)
- mystring = 123412345(不要删除它,留在那里)
如果变量 (sed -i 's/mystring=/mystring=1234/g' file.ini)
被执行了两次以上,它所做的就是在末尾添加数字。
这就是为什么我需要替换整行的原因,如果完成超过 1 次,您会看到它始终保持不变,如果不同,则将其更改为在命令。
从已经非常感谢你。
您始终可以匹配和替换整行:
sed -i 's/^mystring=.*/mystring=newvalue/' yourfile
.*
在正则表达式中匹配任意数量的字符,包括 none.
您还可以c
更改包含特定模式的所有行:
sed -i '/^mystring=/c\
mystring=newvalue' yourfile
或者使用 GNU sed:
sed -ie '/^mystring=/c\' -e 'mystring=newvalue' yourfile