实际工作中,我们经常需要过滤掉文本中的空白行。

方法有很多,简要记录几个常用的方法:

     以a.txt文件为例,首先查看一下文件里面的内容:

          wKioL1YwcVHQmjgKAAB8I-6Mn20600.jpg

     

    法一、使用grep:grep -v  '^$'  a.txt

          wKiom1YwcWrgsmkWAACEiNzC1yY042.jpg

         有时候还需要将输出结果保存到原文件,这时候想到用输出重定向  

wKiom1YwcivSiycuAADa81a-_ds245.jpg




     文件里什么都没有了!

     因为这里使用的重定向为" > " ,它会先将原文件,即a.txt内容清空!再将结果写入a.txt。显然,先一步就把内容清空了,相当于grep -v  '^$' 一个空文件,当然什么都没有!

     那么,使用“>>”追加可以吗?答案是不可以的,因为追加还会保留原来的内容。所以还是先重定向到一个其它文件靠谱!

   

     法二、使用sed:sed  '/^$/d'  a.txt

          wKiom1YweD6R4CwzAACOVtEcklA019.jpg