我尝试使用wc -l
,但它说Argument list too long
。还有其他选择吗?目录中的文件总数为100k +,每个文件的行数也太多(每行200k +)。
答案 0 :(得分:5)
如果您想为每个文件单独计数,请执行以下操作:
find /dir -exec wc -l {} +
-exec +
很聪明,会使用部分文件列表多次调用wc
,以免超出操作系统的命令行长度限制。
如果您想为所有文件添加一个组合计数,请执行以下操作:
find /dir -exec cat {} + | wc -l
通过将所有文件连接在一起,只需要进行一次wc
调用。