这是显示特定文件行数的正确方法吗?
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 file
或grep . -c file
)。
如果您不想wc
在指定文件名时显示文件名,您可以使用wc -l
您喜欢的过滤器提取输出的第一个单词,例如cut(1)
:wc -l foo | cut -d' ' -f 1
或awk(1)
: wc -l foo | awk '{print $1}'
,或其他具有相同效果的过滤器。
答案3
对所有非空行进行编号:
cat file | nl
或者包含所有内容:
cat file | nl -ba