Shell 如何在unix中删除最后7行文件

Shell 如何在unix中删除最后7行文件,shell,unix,awk,sed,Shell,Unix,Awk,Sed,如何使用unix命令从csv文件中删除最后7行 例如— abc bffkms slds 行开始1 第2行开始 第3行开始 第4行开始 第5行开始 第6行开始 第7排开始 我想从上面的文件中删除最后7行。请建议 您可以使用head head -n-7 file 从手册页: -n, --lines=[-]K print the first K lines instead of the first 10; with the leading '

如何使用unix命令从csv文件中删除最后7行

例如—

abc
bffkms
slds
行开始1
第2行开始
第3行开始
第4行开始
第5行开始
第6行开始
第7排开始


我想从上面的文件中删除最后7行。请建议

您可以使用
head

head -n-7 file
从手册页:

 -n, --lines=[-]K
              print the first K lines instead of the first 10;
              with the leading '-', print all but the last K lines of each file
比如:


一种
tac
awk
组合

tac | awk  'NR>7' | tac
eks:


另一个
awk
版本

awk 'FNR==NR {a++;next} FNR<a-7 ' file{,}

awk'FNR==NR{a++;next}FNR注意,这在Mac OSX上不起作用,因为负值不是
-n
标志的有效参数。
seq 1 10 | tac | awk  'NR>7' | tac
1
2
3
awk 'FNR==NR {a++;next} FNR<a-7 ' file{,}