's3_bucket': 'pass'를 hello로 변경해야 하는데 작동하지 않습니다.
예:
echo "'s3_bucket': 'pass'" | sed 's/'s3_bucket':/hello/'
출력:
's3_bucket': 'pass'
내가 뭘 잘못하고 있는지 이해하도록 도와주세요.
답변1
인용문이 잘못되었습니다. 이 부분은 's/'s3_bucket':/hello/'
쉘에 의해 합계 's/'
와 결과가 인수로 해석됩니다 .s3_bucket
':/hello/'
s/s3_bucket:/hello/
sed
노력하다
echo "'s3_bucket': 'pass'" | sed "s/'s3_bucket':/hello/"
또는
echo "'s3_bucket': 'pass'" | sed 's/'\''s3_bucket'\'':/hello/'
두 번째 버전에는 '\''
큰따옴표 대신 두 개의 인접한 작은따옴표가 있습니다.
참조할 수 있는 더 많은 방법이 있습니다.이 비슷한 질문에 대한 대답.