postgresql.conf 파일에 다음 줄이 있습니다.
#BARMAN# archive_command = 'rsync -a %p [email protected]:/var/lib/barman/main-db-server/incoming/%f'
다음 구문을 사용하여 단어를 제거했습니다 - #BARMAN#
sed '/archive_command/ s/#BARMAN#//g'
그러나 archive_command라는 단어가 줄의 시작 부분에 없습니다.
다음과 같이:
archive_command = 'rsync -a %p [email protected]:/var/lib/barman/main-db-server/incoming/%f'
그리고 예상되는 출력은 다음과 같아야 합니다.
archive_command = 'rsync -a %p [email protected]:/var/lib/barman/main-db-server/incoming/%f'
이 문제를 어떻게 해결하나요?
답변1
#BARMAN#
다음 공백이 아닌 만 바꾸는 것임을 참고하세요 .
이렇게 하려면 다음을 사용하세요.
sed '/archive_command/s/#BARMAN# *//'
또는 탭과 공백을 허용합니다.
sed '/archive_command/s/#BARMAN#[[:space:]]*//'
그러면 문자열과 공백 또는 탭이 직접 제거됩니다.