linux中Shell如何去掉空行

小编给大家分享一下linux中Shell如何去掉空行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站制作、岗巴网络推广、重庆小程序开发公司、岗巴网络营销、岗巴企业策划、岗巴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供岗巴建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

1. grep

$ grep -v '^$' file

-v 用于输出不匹配的内容:

$ man grep   Matching Control   -v, --invert-match                Invert the sense of matching, to select non-matching lines.

通配符 '^里的用于表示字符串开始, 用于表示字符串结束。

2. sed

$ sed '/^$/d' file

sed 的全名是 “stream editor”,即流编辑器,是一个使用简单紧凑的编程语言来解析和转换文本超强实用程序。

^$ 用于匹配空白行,d 则是 sed 的其中一个命令,用于删除匹配项:

$ man sed  COMMAND SYNOPSIS      ...      d      Delete pattern space.  Start next cycle.      ...

3. awk

$ awk '!/^$/' file

补充知识:

awk (其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母) 是一种用于处理文本的编程语言。它是一个优良的文本处理工具,工作时它会扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下一行。

awk 程序是由一系列模式--动作对组成的:

pattern { action }

回到我们的需求,^$ 用于匹配空白行,!则用来取反,从而找出非空白行,awk 的默认 action 就是 print,所以我们连 print 都不写了。

4. tr

$ cat in.txt | tr -s '\n'

tr 是 translate 的缩写,用于替换或删除输入数据集中特定字符。

-s 用于将其输出中相同相邻字符的序列压缩为单个字符:

$ man tr  DESCRIPTION      -s, --squeeze-repeats                replace  each  sequence  of a repeated character that is listed in the last specified SET, with a single occurrence of                that character

5. vi

$ vi file  :g/^$/d

以上是“linux中Shell如何去掉空行”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页名称:linux中Shell如何去掉空行
网址分享:http://csdahua.cn/article/goejoi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流