コマンドラインから次の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"
これらの値をワイルドカードとして使用できると確信していますが、リモート接続を介して正規表現を処理するには多くのエスケープ文字が必要で、非常に迅速に制御できなくなるため、面白くありません。