我想从文件的末尾删除一些n行。使用sed可以做到这一点吗?
例如,要删除从2到4的行,我可以使用
$ sed '2,4d' file
但我不知道行号。我可以使用以下命令删除最后一行
$sed $d file
但我想知道从末尾删除n行的方法。请告诉我如何使用sed或其他方法来做这件事。
发布于 2012-11-14 22:26:41
我不知道sed
如何,但可以用head
完成
head -n -2 myfile.txt
发布于 2014-06-19 11:16:25
如果可以选择硬编码n,则可以使用对sed的顺序调用。例如,要删除最后三行,请删除最后一行三次:
sed '$d' file | sed '$d' | sed '$d'
发布于 2012-11-15 00:49:33
# 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
看起来就是你要找的。
https://stackoverflow.com/questions/13380607
复制相似问题