首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用grep删除空行

使用grep删除空行
EN

Stack Overflow用户
提问于 2010-08-08 08:10:51
回答 15查看 300.9K关注 0票数 205

我在Linux中尝试了grep -v '^$',但没有起作用。此文件来自Windows文件系统。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2010-08-08 08:17:13

尝试以下操作:

代码语言:javascript
运行
复制
grep -v -e '^$' foo.txt

-e选项允许匹配正则表达式模式。

^$前后的单引号使其适用于Cshell。其他shell会喜欢使用单引号或双引号。

更新:这适用于包含空白行或“全空白”的文件(例如带有"\r\n“样式行结尾的windows行),而上面只删除具有空白行和unix样式行结尾的文件:

代码语言:javascript
运行
复制
grep -v -e '^[[:space:]]*$' foo.txt
票数 344
EN

Stack Overflow用户

发布于 2015-12-28 19:55:06

保持简单。

代码语言:javascript
运行
复制
grep . filename.txt
票数 100
EN

Stack Overflow用户

发布于 2010-08-08 09:10:41

使用:

代码语言:javascript
运行
复制
$ dos2unix file
$ grep -v "^$" file

或者只是简单的awk:

代码语言:javascript
运行
复制
awk 'NF' file

如果您没有dos2unix,那么可以使用诸如tr之类的工具

代码语言:javascript
运行
复制
tr -d '\r' < "$file" > t ; mv t "$file"
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3432555

复制
相关文章

相似问题

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