vi에서 마지막 라인부터 특정 개수의 라인을 지우고 싶을 땐 어떻게 해야 하나요?

sansolse의 이미지

sed로 특정 파일을 불러서 마지막 라인부터 몇 개의 라인을 지운 이후에 저장(cat > ***) 하려고 합니다.

어떤 식으로 명령어를 만들면 되나요?? @_@?

ymir의 이미지

# delete the last 10 lines of a file
 
sed -e :a -e '$d;N;2,10ba' -e 'P;D'   # method 1
sed -n -e :a -e '1,10!{P;N;D;};N;ba'  # method 2

라는군요..

참고 http://sed.sourceforge.net/sed1line.txt

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

익명 사용자의 이미지

제목은 vi 본문은 sed 군요

vi 아직 잘모르지만

10줄 삭제
:$-9,$d

Prentice의 이미지

GNU head 사용하셔도 가능합니다.

cat foo| head -n -10 > bar