명령줄에서 다음 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"
이러한 값을 와일드카드로 사용할 수 있다고 확신하지만 원격 연결을 통해 정규식을 처리하는 것은 많은 이스케이프 문자가 필요하고 매우 빠르게 제어할 수 없게 되므로 재미가 없습니다.