linux去掉文件中的空行

linux去掉文件中的空行,第1张

方法一:利用grep

grep -v '^\s*$' test.txt

注:-v表示将匹配的结果进行反转,正则表达式匹配空行。(空行可包括空格符制表符等空白字符)

方法二:利用sed

sed '/^\s*$/d' test.txt

注:d代表删除该行

方法三:利用awk

awk NF test.txt

注:NF代表当前行的字段数,空行的话字段数为0,被awk解释为假,因此不进行输出。

以上三种方式均可处理包含空白字符(空格符,制表符等)的空行。

方法四:若空行均由’\n'造成,则还可以利用tr命令去除空行。《Linux就该这么学》

tr -s '\n' <test.txt

注:-s代表将多个连续的字符压缩成一个字符,这里是将多个‘\n'压缩成一个'\n',达到去除空行的效果。

方法四的缺陷:如果首行就出现空行的话则无法去除首行的空行

简单,利用过滤命令grep和重定向就可以解决。具体步骤如下:

1.假如这个文档的绝对路径是/test/abc.txt

2.运行以下命令:grep -v ^/ /test/abc.txt >/test/abc.txt.bak

3.将/test/abc.txt.bak覆盖/test/abc.txt

注:通过以上三步就可达到你的目的,以上步骤都是我亲自做过实验的,所以肯定有用。之所以有第3步,是因为不能直接重定向到原文件,否则原文件的内容会被清空。如果不懂请追问。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7426129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存