如何使用unix命令从csv文件中删除最后7行。
例如 -
ABC
bffkms
的SLD
行开始1
行开始2
行开始3
行开始4
行开始5
行开始6
行开始7
我想从上面的文件中删除最后7行。请建议。
答案 0 :(得分:9)
您可以使用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
像:
kent$ seq 10|head -n-7
1
2
3
答案 1 :(得分:1)
tac
awk
组合。
tac | awk 'NR>7' | tac
EKS:
seq 1 10 | tac | awk 'NR>7' | tac
1
2
3
另一个awk
版本
awk 'FNR==NR {a++;next} FNR<a-7 ' file{,}
这两次读取文件{,}
,首先计算行数,然后打印除7
行以外的所有行。