sed 명령을 사용하여 문장을 검색하고 공백으로 바꿉니다.

sed 명령을 사용하여 문장을 검색하고 공백으로 바꿉니다.

sed 명령을 사용하여 파일의 일부 텍스트를 바꾸려고 합니다.

echo 'native_transport_port: 9042' | sed -E 's/native_transport_port:/\W9042/native_transport_port:9080'

오류가 발생합니다.sed: 1: "s/native_transport_port ...": bad flag in substitute command: 'n'

시도했지만 echo 'native_transport_port: 9042' | sed -E 's/native_transport_port:\s9042/native_transport_port:\s9080' 오류가 발생했습니다.sed: 1: "s/native_transport_port ...": unterminated substitute in regular expression

기본적으로 Native_transport_port를 검색하고 9042를 9080으로 바꾸려고 합니다.

답변1

s마지막 명령으로 명령을 종료 해야 합니다 /.

sed -E 's/native_transport_port:\s9042/native_transport_port:\s9080/'

이렇게 하면 \s교체 부품은 특별한 의미가 없으므로 s그렇게 해야 합니다.

sed -E 's/native_transport_port:\s9042/native_transport_port: 9080/'

또는 공백을 있는 그대로 재현하고 싶다면,

sed -E 's/(native_transport_port:\s)9042/\19080/'

일치하는 텍스트를 교체하여 재사용합니다.

sedPerl 스타일을 지원하지 않는 경우 \s대신 공백으로 일치시킬 수 있습니다.

sed 's/native_transport_port: 9042/native_transport_port: 9080/'

관련 정보