如何使用sed计算文件中的非空行数?

时间:2010-09-03 06:46:13

标签: bash shell sed

如何通过sed找到我在文件中有多少行 (需要忽略空格和空行)

例如

如果我有139行文件(行只能包含一个字符) 那么sed应该返回139

利迪娅

5 个答案:

答案 0 :(得分:11)

这是grep的作业,而不是sed

<myfile grep -c '[^[:space:]]'

答案 1 :(得分:3)

您可以尝试:

sed -n '/[^[:space:]]/p' filename | wc -l

此处sed仅打印那些至少有一个非空格字符的行,wc计算这些行。

答案 2 :(得分:1)

使用nawk代替sed。

nawk 'NF{c++}END{print "total: "c}' file

答案 3 :(得分:0)

sed '/^ *$/ d' filename | wc -l

这里,sed在删除从开头到结尾有0个或更多空格的所有行之后打印行。 wc -l是计算这些行的数量。

答案 4 :(得分:0)

使用Perl one-liner:

perl -lne '$count++ if /\S/; END { print int $count }' input.file