![sed: -e 표현식 #1, 문자 44: 종료되지 않은 's' 명령 [닫기]](https://linux55.com/image/83586/sed%3A%20-e%20%ED%91%9C%ED%98%84%EC%8B%9D%20%231%2C%20%EB%AC%B8%EC%9E%90%2044%3A%20%EC%A2%85%EB%A3%8C%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20's'%20%EB%AA%85%EB%A0%B9%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
지침은 다음과 같습니다.
sed -i 's|/group/dairy/phuongho/garuns/out|$XXX/out/' exp/garuns.vpz
이게 무슨 문제인지 말해 줄 수 있나요? 질문 제목에 명시된 오류가 발생하기 때문입니다.
답변1
오류 메시지에서 알 수 있듯이 |
종료 명령 s
의 마지막 비트가 누락되었습니다.
sed -i 's|/group/dairy/phuongho/garuns/out|$XXX/out/|' exp/garuns.vpz
^
작은따옴표를 사용하고 있으므로 $XXX
파일에서 문자 그대로 대체됩니다. 가치를 원하신다면바꾸다 XXX
, 대신 큰따옴표( sed -i "..."
)를 사용하세요.
또한 패턴에는 선행 슬래시가 있지만 후행 슬래시는 없으며 대체에서는 그 반대도 마찬가지입니다. (이것은 아마도 당신도 원하는 것이지만 이상해 보입니다.)