首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gawk、awk或sed删除行

使用gawk、awk或sed删除行
EN

Stack Overflow用户
提问于 2017-01-23 04:35:23
回答 3查看 134关注 0票数 0

原问题

我有一个逗号分隔的.csv文件,如下所示:

代码语言:javascript
复制
header1,header2,header3
value10,value20,value30
value11,value21,value31
,,
,,
,,

如何删除csv结尾处的“空行”?空行的数量并不总是相同的,但可以是任何数字。

如何将修改后的csv保存到新文件中?

关于雷神编辑的问题

我有一个逗号分隔的.csv文件,如下所示:

代码语言:javascript
复制
header1,header2,header3
value10,value20,value30
value11,value21,value31
[empty line]
[empty line]
[empty line]

如何删除csv结尾处的“空行”?空行的数量并不总是相同的,但可以是任何数字。

如何将修改后的csv保存到新文件中?

EN

回答 3

Stack Overflow用户

发布于 2017-01-23 04:42:19

一种快速而肮脏(但有效)的方法是在键盘上查找文件中没有的字符,例如µ。然后只需键入:

代码语言:javascript
复制
tr '\n' 'µ' < myfile.csv | sed -e 's/[,µ]*$//' | tr 'µ' '\n' > out.csv

没有尝试过,但您可以根据自己的需要调整此想法。也许您还需要添加空格字符(或制表符等)。在括号表达式中。

其思想是用(临时) µ替换“行尾”字符,以获得(临时)单行文件;然后使用非常基本的正则表达式删除您想要的内容;最后恢复“行尾”字符。

票数 0
EN

Stack Overflow用户

发布于 2017-01-23 13:26:18

请在下面使用-

代码语言:javascript
复制
sed -i '/^$/d' file

解释:

代码语言:javascript
复制
 ^$ : 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.
票数 0
EN

Stack Overflow用户

发布于 2017-01-23 23:44:13

从你的问题中还不清楚,但听起来你需要的是:

代码语言:javascript
复制
grep -v '[^,]' file1 > file2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41795851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档