![행에 포함된 줄 뒤의 모든 줄을 삭제하시겠습니까? [복사]](https://linux55.com/image/224842/%ED%96%89%EC%97%90%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EC%A4%84%20%EB%92%A4%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EC%A4%84%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
특정 줄 뒤의 모든 줄을 삭제하려는 스크립트가 있습니다.
명령이 있는데 파일 전체가 지워지나요?
sed -n '/twm &/q;p' ~/.xinitrc > ~/.xinitrc
변환은 다음과 같습니다.
some line
another line
some other line
twm &
more lines to be deleted
and more
도착하다
some line
another line
some other line
답변1
상위 프로세스(쉘)가 리디렉션을 설정하므로앞으로명령 이 실행된 sed
후 > ~/.xinitrc
파일을 읽기 전에 파일이 지워집니다.
읽고 man sed
다음과 같은 일을 해보세요테스트되지 않은:
sed -i.bak -e "/twm \&/,\$d" ~/.xinintc
이것은 에 있을 것입니다 ~/.xinitrc.bak
.