![이 스크립트에서 "sed"가 작동하지 않는 이유 [닫기]](https://linux55.com/image/158170/%EC%9D%B4%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%22sed%22%EA%B0%80%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
두 가지 모드 사이에 변수가 있는 create_database 스크립트가 있습니다.
##from script
v1=
v2=
##variables
이러한 패턴 사이의 줄을 삭제하려고 하면 sed
작동하지 않습니다(분명히 여기서는 작동하지 않습니다. 이는 줄을 삭제하지 않으며 명령을 실행한 후 스크립트의 내용이 동일하다는 것을 의미합니다).
sed -i '/##from script/,/##variables/d' /data3/create_database
다른 스크립트에서 이 명령을 사용했는데 잘 작동하지만 여기서는 왜 동일한 결과를 얻지 못하는지 모르겠습니다. 어떤 제안이 있으십니까?
답변1
아마도 sed가 "-i" 옵션을 지원하지 않는 드문 시스템 중 하나에 갇혀 있을 수도 있습니다.
달리기를 해보세요
sed '/##from script/,/##variables/d' /data3/create_database > someotherfile
그런 다음 파일 내용이 예상한 것과 같은지 확인하십시오.
파일의 접근권한을 확인하셨나요?