sed 명령을 인용해야 하는 이유는 무엇입니까?

sed 명령을 인용해야 하는 이유는 무엇입니까?

sed범위를 사용하여 Sed 명령을 시작하면 sed /X/Y/ FILE일반적으로 따옴표로 표시되는 이유는 무엇입니까 sed "s/X/Y/g" FILE?

답변1

껍질 손상으로부터 보호하십시오. 이와 같은 문자열에 s/X/Y/필요한 것은 아니지만 공백이나 쉘 특수 문자와 관련된 작업을 수행할 때는 어쨌든 따옴표를 추가해야 합니다. 어찌보면 어차피 아프지 않기 때문에 처음부터 인용하기가 더 쉽습니다.

이것은 따옴표 없이 작동합니다:

$ echo abcdefg | sed s/abc/xyz/ 
xyzdefg

그것들이 없으면 이것은 몇 가지 흥미로운 방식으로 발생합니다.

$ printf 'abc\nabc\n' | sed -E '$s/(abc|def)/xyz zyx/'
abc
xyz zyx

관련 정보