sed 删除文本最后几行

sed 删除文本最后几行

sed 删除最后几行时,如果用  sed '$d' note.txt > note.txt.bak  能删除文本最后几行
但是如果我想直接删除note.txt中的最后几行,如何实现呢      
sed '$d' urfile 这是删除最后一行

想直接修改原始文件可以加 -i 参数      
恍然大悟  高实在是高 呵呵      
[QUOTE=davi;570973]sed '$d' urfile 这是删除最后一行

想直接修改原始文件可以加 -i 参数[/QUOTE]
难得见 davi 同志在 shell 版露面哈       
我只能在你和huanhuan不留神的时候 抢个贴子 嘿嘿      
[QUOTE=davi;571007] 我只能在你和huanhuan不留神的时候 抢个贴子 嘿嘿[/QUOTE]

欢迎来抢
见者有份
复制内容到剪贴板
代码:
#回到主题上来, 借助wc计算一下行数

[0 No.2058 huan@huan ~/tmp]$ cat foo
1111111111
2222222222
3333333333
4444444444
5555555555

[0 No.2059 huan@huan ~/tmp]$ wc -l foo
5 foo

[0 No.2060 huan@huan ~/tmp]$ sed -n '3,5 !p' foo
1111111111
2222222222

#或是用head,重定向再move回原来名字
[0 No.2061 huan@huan ~/tmp]$ head -n -3 foo
1111111111
2222222222
      
看来版主们都过来了  happy      
sed1line上给出一个用法:
# 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      
我最怕的就是看到这样的sed
哈