如何计算文本行数?

如何计算文本行数?

如何计算文本文件中有多少行。例如:

command file.txt

注意,我只想计算非空行(不计算空格和制表符的行)?

答案1

尝试sed

sed '/^$/d' file.txt | wc -l

如果您有任何仅包含空格或制表符的行,并且您也想忽略它们:

sed '/^[[:blank:]]*$/d' file.txt | wc -l

答案2

上述答案是正确的,但略有不同,您可以使用grep更简单的代码,例如grep -vc '^$' file.txt

例如(A):file.txt

$grep -vc '^$' file.txt

1    First line         #This is two tabs to comment.
2    
4
3    Fourth line        #Another two tabs to comment.

$2

例如(B):file.txt

$sed '/^$/d' file.txt | wc -l

1    First line         #This is two tabs to comment.
2    
4
3    Fourth line        #Another two tabs to comment.

$4

注意结果是 4!当我们只期望两个时。但这也计算了内容和评论之间的标签。

请注意从 0 开始的计数和从 1 开始的计数与 grep 和 sed 不同,我记得更多详细信息请搜索 grep 或 sed。

答案3

使用grep

grep -vc '^$' file  # or
grep -vc '^\s*$' file    

答案4

awk 'NF{++count} END{print count}' file

解释:

表示NF字段总数,因此会打印仅限非空行,因为在非空白行中NF大于0并计算为真。因此增加数数当 awk 发现非空行时进行标记,并且打印最新价值数数在末尾加上标志END{print count}

相关内容