[英]how to remove last lines from CSV file
我正在将 SQL 查询结果插入到 csv 文件中。 在文件末尾添加了两行,如下所示。 谁能告诉我如何删除这两行(银行行和'168行选择')。 此外,如果在将 sql 查询结果插入 csv 文件时这些行没有首先插入到 csv 文件中,那将会很棒。
pvm:0a12dd82,pvm:0a12dd84,TechnicalErrorProcess,21-JUN-19 07.01.58.560000 AM,pi_halted,38930,1
pvm:0a12dd77,pvm:0a12dd79,TechnicalErrorProcess,20-JUN-19 12.36.27.384000 PM,pi_halted,1572846,1
pvm:0a12dd6t,pvm:0a12dd6v,TechnicalErrorProcess,20-JUN-19 12.05.22.145000 PM,pi_halted,38929,1
pvm:0a12dd4h,pvm:0a12dd4l,TechnicalErrorProcess,17-JUN-19 07.11.43.522000 AM,pi_halted,9973686,1
168 rows selected.
对于 MSSQL,在选择查询之前附加以下内容,
set nocount on; select ...
我不确定这是否适用于其他数据库。
过滤上述命令的输出以排除最后两行。
我看到使用 bash 命令执行此操作的两种方法:
head --lines=-2
或者
sed -e '/rows selected/d' -e '/^ *$/d'
(实际上,这是一个占位符)。
您可以使用head
命令为-n
参数指定一个负数:
-n, --lines=[-]K 打印前 K 行而不是前 10 行; 使用前导 '-',打印每个文件的最后 K 行以外的所有行
所以:
head -n -2 input-file.txt > output-file.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.