计算文件夹中所有文件的总行数[重复]
Posted
技术标签:
【中文标题】计算文件夹中所有文件的总行数[重复]【英文标题】:Count total number of rows from all the files in a folder [duplicate] 【发布时间】:2019-08-12 18:43:46 【问题描述】:我有一个文件夹/data
,这个文件夹有大约 50,000 个数据集。每个数据集以File_
开头。是这样的。
File_1323.rds
File_3223.rds
File_5122.rds
File_8273.rds
.
.
.
我需要帮助计算所有这些文件中的总行数。一次没有一个文件。所有这些文件的总行数。任何建议都非常感谢。提前致谢。
【问题讨论】:
cat File_*.rds | wc -l
应该可以工作,假设文件的每一行都是一个“行”。编辑:从头开始。我很确定 50,000 个文件会超过 args 的最大数量。所以你可能需要使用find -name "File_*.rds" -exec cat \;
而不是cat File_*
。如果你不想递归到子目录,那么在find
之后添加-maxdepth 1
Total number of lines in a directory, How to count all the lines of code in a directory recursively?的可能重复
很难说你的代码有什么问题,因为你没有提供它或者你遇到的错误。另见How to create a Minimal, Complete, and Verifiable example。
【参考方案1】:
使用wc(1)
:
wc -l File_*.rds
或者,仅获取数字(用于脚本):
wc -l File_*.rds | awk '/ total/ print $1 '
但是 50'000 可能会超过“最大参数数量”限制,因此请使用 find ... -exec...
:
find . -name 'File_*.rds' -exec cat "" + | wc -l
【讨论】:
您可以使用-exec cat +
最小化调用cat
的次数
谢谢@BenjaminW。 !刚刚了解+
:)以上是关于计算文件夹中所有文件的总行数[重复]的主要内容,如果未能解决你的问题,请参考以下文章