sed가 "알 수 없는 명령"을 보고합니다.

sed가 "알 수 없는 명령"을 보고합니다.

나는 이것을 썼다:

sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini

이로 인해 다음 오류가 발생했습니다.

sed: -e expression #1, char 1: unknown command: `'

답변1

당신의

 sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini

vs 맞다

 sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini

다양한 유형의 견적을 확인하세요.

Writer나 Word와 같은 문서 편집기에서 복사하여 붙여넣을 때 주의하세요. 인용문(및 기타 내용)이 자동으로 현지어와 일치하도록 변경되는 경우가 많습니다.

답변2

동일한 오류가 발생했지만 원인이 달랐습니다. ` 문자를 사용하지 않았고, 어딘가에서 코드를 복사하여 붙여넣지도 않았습니다. 조건이 포함된 sed 스크립트를 작성 중이었고 명령에 새 줄을 사용했습니다. 다른 사람이 동일한 문제를 겪고 있고 허용된 답변으로 도움을 받지 못한 경우를 대비하여 여기에 게시하세요.

오류를 복제하는 방법은 다음과 같습니다.

echo class:myclass > myfile
cat script
/class:/
s/myclass/MYCLASS/g #ctrl+d to exit
sed -f script myfile

산출:

sed: file script line 2: unknown command: `
'

이를 해결하는 방법은 조건 뒤에 명령을 배치하거나(같은 줄에) 중괄호를 사용하여 스크립트가 다음과 같이 보이도록 하는 것입니다.

/class:/ s/myclass/MYCLASS/

아니면 이거:

/class:/ {
s/myclass/MYCLASS/
}

관련 정보