繁体   English   中英

如何从 CSV 文件中删除最后一行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM