마지막 라인이 빈줄이면 없애는 프로그램..

hoollahoop의 이미지

맨 마지막 줄이 빈줄이 아니면 그대로 두고 빈줄이면 삭제하는 프로그램..

sed로 가능한지.. 좀 알려주세요.

cinsk의 이미지

sed는 아니지만, awk로 하면 쉽게 될 것 같네요.. 한 번 테스트 해보세요:

$ (cat | awk 'BEGIN { pline = "" }
              { if (NR > 1) print pline; pline=$0 }
              END { if (pline != "") print pline }') <<EOF
> hello
> hi
>
> EOF
hello
hi
$ _

--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/

eseo의 이미지

굳이 sed 를 써야만 하는 상황이라면, 이런 편법도 있습니다.

sed -e '$s/^$/ToBeRemoved/' -e '/ToBeRemoved/d' filename

"ToBeRemoved" 는 의미가 없는(기존의 텍스트에 없는) 내용이어야만 겠죠.

배려하는 마음을 갖자.

---
배려하는 마음을 갖자.