原问题
我有一个逗号分隔的.csv文件,如下所示:
header1,header2,header3
value10,value20,value30
value11,value21,value31
,,
,,
,,如何删除csv结尾处的“空行”?空行的数量并不总是相同的,但可以是任何数字。
如何将修改后的csv保存到新文件中?
关于雷神编辑的问题
我有一个逗号分隔的.csv文件,如下所示:
header1,header2,header3
value10,value20,value30
value11,value21,value31
[empty line]
[empty line]
[empty line]如何删除csv结尾处的“空行”?空行的数量并不总是相同的,但可以是任何数字。
如何将修改后的csv保存到新文件中?
发布于 2017-01-23 04:42:19
一种快速而肮脏(但有效)的方法是在键盘上查找文件中没有的字符,例如µ。然后只需键入:
tr '\n' 'µ' < myfile.csv | sed -e 's/[,µ]*$//' | tr 'µ' '\n' > out.csv没有尝试过,但您可以根据自己的需要调整此想法。也许您还需要添加空格字符(或制表符等)。在括号表达式中。
其思想是用(临时) µ替换“行尾”字符,以获得(临时)单行文件;然后使用非常基本的正则表达式删除您想要的内容;最后恢复“行尾”字符。
发布于 2017-01-23 13:26:18
请在下面使用-
sed -i '/^$/d' file解释:
^$ : To search line which doesn't contain anything from start(^) to last($)
d : To delete that searched line
i : to make the changes permanent so that you don't need to redirect to another file and then rename it again.发布于 2017-01-23 23:44:13
从你的问题中还不清楚,但听起来你需要的是:
grep -v '[^,]' file1 > file2https://stackoverflow.com/questions/41795851
复制相似问题