sed + 원격 시스템에서 문자열 삭제

sed + 원격 시스템에서 문자열 삭제

내 sed 구문에 어떤 문제가 있는지 제안해 주세요.

ssh [email protected] sed -i '/archive_command/ s/#BARMAN#[ ]*//g'  /var/lib/pgsql/data/postgresql.conf"

sed: -e expression #1, char 17: missing command

내 목표는 원격 컴퓨터에서 #BARMAN# 문자열을 삭제하는 것입니다.

내 로컬 컴퓨터에서 이 작업을 수행하면 다음과 같이 작동합니다.

sed -i '/archive_command/ s/#BARMAN#[ ]*//g'  /var/lib/pgsql/data/postgresql.conf"

답변1

문법 오류.

다음과 같아야 합니다.

ssh postgres@host 'sed -i "/archive_command/ s/#BARMAN#[ ]*//g"  /var/lib/pgsql/data/postgresql.conf"'

명령 주위에 따옴표를 잊어버렸습니다. 이스케이프할 필요가 없도록 작은따옴표 대신 큰따옴표를 추가했습니다.

관련 정보