Linux中如何删除文件中所有空行

时间:2019-05-19 01:26:26  来源:igfitidea点击:

有时我们需要从文件中删除空行。
它可以手工做,如果文件有几行,但如果文件有数千行,这是很难手工操作。
使用下列方法之一从文件中删除空行。

方法1 -使用sed

Sed是一个流编辑器。
我们可以使用sed命令轻松地删除所有空白行。
使用下面的一个sed命令从文件中删除空行。
例如,main.txt是我们需要删除空行的原始文件。
下面的命令将删除所有空白行并将内容保存到seconf文件out.txt中。
它不会影响原始文件。

# sed '/^$/d' main.txt > out.txt

现在,如果我们想对原始文件进行更改,使用带-i 选项的sed命令。

# sed -i '/^$/d' main.txt

-i用于在同一文件中进行更改。

方法2 -使用perl

除了sed,我们还可以使用perl(一种编程语言)来删除空行。
使用下面的示例命令从main.txt文件中删除空行。

# perl -i -n -e "print if /S/" main.txt

方法3 -使用awk

我们还可以使用AWK命令行工具从文件中删除空白行。
例如使用下面的命令。

# awk 'NF > 0' main.txt > out.txt