Linux/Unix:Shell删除空行

时间:2020-01-09 10:46:04  来源:igfitidea点击:

我有很多空行的文本文件。
如何删除Linux或者Unix操作系统下的所有空行?
您可以使用以下任一实用程序从文本文件中删除所有空行:

  • sed命令
  • awk命令
  • perl命令

语法

语法为:

command input.txt > output.txt
 
command [option] input.txt > output.txt
 
sed '...' input.txt > output.txt
 
## Gnu/sed
sed -i '...' input.txt 
 
awk '...' input.txt > output.txt

sed命令示例

执行以下sed命令以删除所有空文件:

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

或者

sed -i '/^$/d' input.txt 
cat input.txt

awk命令示例

执行以下awk命令以删除所有空文件:

awk 'NF > 0' input.txt > output.txt
cat output.txt

perl命令示例

执行以下perl one line以删除所有空文件并将原始文件另存为input.txt.backup:

perl -i.backup -n -e "print if /\S/" input.txt

验证更新的文件,执行:

cat input.txt
cat input.txt.backup