sed + 在一个 sed 命令中更新主机文件中的 4 个不同的 IP

sed + 在一个 sed 命令中更新主机文件中的 4 个不同的 IP

如何在一个命令行中运行以下 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"

我很确定您可以使用通配符这些值,但是通过远程连接处理正则表达式并不是我的乐趣,因为它可能需要大量转义字符并且很快就会失控

相关内容