linux - ssh 上的 sed 不会转义反斜杠

标签 linux bash ssh sed

我正在尝试在文件中的“rezhome”之前添加一行,如下所示:

...
app3-reservation, \
app4-reservation, \
app5-reservation, \
rezhome

当我使用以下命令在本地运行时,它工作正常。

sed -i 's/rezhome/app5-reservation, \\\n&/' grouphost.cfg

但是使用 ssh 反斜杠没有转义,我得到以下结果

ssh localhost "sed -i 's/rezhome/app5-reservation, \\\n&/' /path/grouphost.cfg"

...
app3-reservation, \
app4-reservation, \
app5-reservation, \nrezhome

有什么帮助吗?

最佳答案

\sedssh 处理,因此您需要进一步转义它们才能与两者一起使用。尝试:

 ssh localhost "sed -i 's/rezhome/app5-reservation, \\\\\n&/' /path/grouphost.cfg"

关于linux - ssh 上的 sed 不会转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37569780/

相关文章:

linux - 无法使用wget登录网站

bash:函数范围外的变量

使用 USB 在 PC 应用程序和 iPhone 应用程序之间进行 iPhone 交互

c++ - 使用 C/C++ 设置 Linux IP

linux - 将所有内容移动到新的子文件夹

linux - 将 linux 连接到 solaris 时,ssh 命令不起作用

C: fork 新进程失败

regex - 匹配备份文件 (`*~` )

linux - Vagrant : Permission denied (publickey)

windows - 通过批处理文件脚本,主机 key 与WinSCP中的缓存 key 不匹配