显示特定文件的行数

显示特定文件的行数

这是显示特定文件行数的正确方法吗?

cat file | grep * -c

答案1

您可以使用此命令:

wc -l <file>

这将返回所提供文件中的总行数。

答案2

你的 shell 将会把星号“扩展”grep * -c到当前目录中的所有内容,例如:

grep foo bar baz -c

这不是你想要的。

尝试cat file | grep -c .计算至少包含一个可打印字符的行数,或者cat file | wc -l计算行数。

但是,如果输入是一个文件,您可以考虑授予执行计数的命令对该文件的访问权限,而不是通过标准输入管道传输它。(例如wc -l filegrep . -c file)。

如果您不想wc在指定文件名时显示文件名,您可以使用wc -l您喜欢的过滤器提取输出的第一个单词,例如cut(1):wc -l foo | cut -d' ' -f 1awk(1): wc -l foo | awk '{print $1}',或其他具有相同效果的过滤器。

答案3

对所有非空行进行编号:

cat file | nl

或者包含所有内容:

cat file | nl -ba

相关内容