파일.txt:
line: this-is-some-text
line2: this-is-some-other-text
예:
sed 's#line:.*##g' File.txt
line2: this-is-some-other-text
보시다시피 첫 번째 줄은 제거되었지만 빈 줄이 남아 있습니다.
sed
삭제할 때 빈 줄이 남지 않도록 할 수 있습니까 ?
답변1
당신은 그것을 사용할 수 있습니다디대신 elete 명령에스대체 명령:
$ cat File.txt
line: this-is-some-text
line2: this-is-some-other-text
$ sed '/line:/d' File.txt
line2: this-is-some-other-text
표현식을 줄 시작 부분에 고정하는 것을 고려할 수 있습니다(예: ) sed '/^line:/d' File.txt
.
또는 역방향 일치를 위해 grep을 고려하십시오 grep -v '^line:' File.txt
.
답변2
awk를 사용하세요:
$ awk '/line:/{next}1'
$ awk '/^line:/{next}1' #For pattern at the start of line
편집 사용:
$ printf '%s\n' 'v/line:/p' | ed -s file
$ printf '%s\n' 'v/^line:/p' | ed -s file # For pattern at the start of line