set -x
"$(which tsc)" 파일에 포함된 줄을 삭제하고 싶지만 오류가 발생합니다:
$ sed -i ".bak" 'set -x' "$(which tsc)"
sed: -e expression #1, char 1: unknown command: `.'
나는 확인했다해결책은 여기에 있습니다이지만 내 줄 종결자는 입니다 LF
.
답변1
문법 오류가 있습니다. 그 뒤에는 공백이 있을 수 없으며 -i
확장자만 있으면 (초기) 오류 메시지가 표시됩니다.
또한 필요한 패턴에 따라 선을 제거하십시오 /<pattern>/ d
( sed
다른 방법도 있지만 이것이 가장 깨끗합니다). 이렇게 하세요:
sed -i".bak" '/set -x/ d' "$(which tsc)"
(선택 사항) 백업 확장 프로그램에는 공백이나 제어 문자가 포함되어 있지 않으므로 이 경우 따옴표 없이 이스케이프할 수 있습니다.
sed -i.bak '/set -x/ d' "$(which tsc)"
답변2
다음 명령을 시도해 보세요.
sed -i.bak '/pattern to match/d' ./infile
당신은 또한 참조 할 수 있습니다텍스트 파일에서 특정 문자열이 포함된 줄 삭제(스택 오버플로에서) include 제거에 대해 자세히 알아보세요 set -x
.