我这里没有代码示例,因为我完全不确定如何执行此操作,但我有一个文件。合法的空行是只包含换行符的行。空格或制表符是非法的。
如何检查一行是否“合法为空”?
如果它没有任何单词(我可以使用 wc -w
检查它),我如何检查它是否没有空格或制表符,只有换行符?
所以我尝试过这样的事情:
while read line; do
if [[ "$line" =~ ^$ ]]; then
echo empty line
continue
fi
done < $1
但它不起作用。如果我在一个空行中放置一个“”,它仍然认为它是空的。
最佳答案
如果你想要那些空行的行号:
perl -lne 'print $. if(/^$/)' your_file
如果你想在没有 Perl 的情况下删除那些行:
grep . your_file >new_file
如果你想使用 Perl 删除那些空行:
perl -i -lne 'print if(/./)' your_file
关于bash - 检查文件中的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20785564/