如何Linux命令行实用程序,用于从文本文件中删除空白行

时间:2020-01-09 10:40:29  来源:igfitidea点击:

问题描述:如何更改文件的格式。
我只是想从文本文件中删除所有空白行。
我如何不花很多时间来完成这项任务?

解决方法:是的,您不必浪费时间对文件进行手动更改。

Linux和UNIX系统都带有文件处理工具,可用于快速删除所有空白行。

使用sed删除空白行

输入以下命令:

$ sed '/^$/d' input.txt > output.txt

使用grep删除空白行

$ grep -v '^$' input.txt > output.txt

grep和sed都使用匹配空白行的特殊模式^ $。

grep -v选项表示打印除空行以外的所有行。

假设目录/home/me/data/*.txt有所有文本文件。
使用以下for循环(shell脚本)从/home/me/data目录中存储的所有文件中删除所有空白行:

#!/bin/sh
files="/home/me/data/*.txt"
for i in $files
do
  sed '/^$/d' $i > $i.out 
  mv  $i.out $i
done