首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Unix文件(包括空格)中删除空行/空行?

问如何从Unix文件(包括空格)中删除空行/空行?
EN

Server Fault用户
提问于 2011-03-28 22:14:41
回答 7查看 495.3K关注 0票数 144

如何使用命令行删除Unix/Linux中文件中的空/空行(仅包括空格)?

file.txt含量

代码语言:javascript
复制
Line:Text
1:<blank>
2:AAA
3:<blank>
4:BBB
5:<blank>
6:<space><space><space>CCC
7:<space><space>
8:DDD

输出所需

代码语言:javascript
复制
1:AAA
2:BBB
3:<space><space><space>CCC
4:DDD
EN

回答 7

Server Fault用户

发布于 2011-03-28 22:19:14

这条sed行应该能做到这一点:

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

-i意味着它将就地编辑文件.

票数 177
EN

Server Fault用户

发布于 2015-05-05 16:12:49

grep

简单的解决方案是使用grep (GNU或BSD)命令,如下所示。

  • 删除空行(不包括带空格的行)。grepfile.txt
  • 删除完全空白行(包括带空格的行)。grep "\S“file.txt

注意:如果你得到不想要的颜色,这意味着你的grep是grep --color=auto的别名(type grep检查)。在这种情况下,您可以添加--color=none参数,或者以\grep的形式运行命令(忽略别名)。

ripgrep

类似于ripgrep (适用于大得多的文件)。

删除空行(不包括带空格的行):

代码语言:javascript
复制
rg -N . file.txt

或包括有空格的线条:

代码语言:javascript
复制
rg -N "\S" file.txt

另请参阅:

票数 103
EN

Server Fault用户

发布于 2011-03-28 22:20:23

您可以在grep中使用-v选项来删除匹配的空行。

像这样

代码语言:javascript
复制
grep -Ev "^$" file.txt
票数 22
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/252921

复制
相关文章

相似问题

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