我想使用solaris编辑远程服务器上的文件
我要编辑的远程服务器上的原始文件是:
11111
22222
33333
44444
55555
66666
77777
我想删除第5行“55555”并将其替换为“00000”
我试试这个
ssh user@host 'cat ~/path_of_original_file.txt '| sed 's/55555/00000/g' ;
结果显示成功并且行替换为我想要的,但是当我在远程服务器上打开文件时没有任何改变!!!!!
答案 0 :(得分:1)
您的尝试有两个问题:
您将cat
ed输出标记为sed
,因此您只需更改stdout
。
管道的右侧在远程服务器上本地,而不是运行,因为它在您引用的字符串之外。
你可能想要的是
ssh user@host 'sed -i "s/55555/00000/g" ~/path_of_original_file.txt'
其中-i
表示就地(请参阅man sed
)。
另请注意,/g
会更改55555
的所有出现次数,而不仅仅是第5行的第一次出现。
由于您使用的是Solaris而sed
可能没有-i
,因此您需要使用临时文件(另请参阅例如here)。