如何使用bash检查文件中的行是否为空

时间:2011-11-27 06:55:45

标签: bash

我有一个while循环,它使用read行从文件中读取行。 然后我想检查线是否为空,我该怎么办? 我已经发现了有关空间线条或本网站变量的问题。

2 个答案:

答案 0 :(得分:6)

您可以使用测试:

[ -z "$line" ]

来自bash手册页:

  

-z string
            如果字符串的长度为零,则为真。

答案 1 :(得分:1)

-n运算符检查字符串是否为空:

while read line    
do
    if [ -n "$line" ]
        echo $line
    fi
done < file.txt 

如果您想要排除仅包含空格的字符串,可以使用bash的模式替换${var//find/replacement}。例如:

if -n [ "${line//[[:space:]]/}" ]