如何在一个命令行中运行以下 sed 命令?
sed -i s'/12.1.0.11/#12.1.0.11/g' /etc/hosts
sed -i s'/12.1.0.12/#12.1.0.12/g' /etc/hosts
sed -i s'/12.1.0.21/#12.1.0.21/g' /etc/hosts
sed -i s'/12.1.0.22/#12.1.0.22/g' /etc/hosts
我的目标是通过 ssh 更新目标主机文件
我不想运行 ssh 4 次!
例子
ssh linux1 sed -i s'/12.1.0.11/#12.1.0.11/g' ................. /etc/hosts
答案1
ssh remote_host "sed -i -e 's/12.1.0.11/#12.1.0.11/g' -e 's/12.1.0.12/#12.1.0.12/g' -e 's/12.1.0.21/#12.1.0.21/g' -e's/12.1.0.22/#12.1.0.22/g' /etc/hosts"
我很确定您可以使用通配符这些值,但是通过远程连接处理正则表达式并不是我的乐趣,因为它可能需要大量转义字符并且很快就会失控