Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 计算文件夹中所有文件的总行数_Linux_Bash_Shell_Centos - Fatal编程技术网

Linux 计算文件夹中所有文件的总行数

Linux 计算文件夹中所有文件的总行数,linux,bash,shell,centos,Linux,Bash,Shell,Centos,我有一个文件夹/data,这个文件夹有大约50000个r数据集。每个数据集都以文件开头。事情是这样的 File_1323.rds File_3223.rds File_5122.rds File_8273.rds . . . 我需要帮助计算所有这些文件中的行总数。一次不能有一个文件。所有这些文件的总行数。非常感谢您的建议。提前感谢。使用wc(1): 或者,仅获取数字(用于脚本中): 但是,50000可能超过“最大参数数”限制,因此请使用find-执行…

我有一个文件夹
/data
,这个文件夹有大约50000个r数据集。每个数据集都以
文件
开头。事情是这样的

   File_1323.rds
   File_3223.rds
   File_5122.rds
   File_8273.rds
   .
   .
   .
我需要帮助计算所有这些文件中的行总数。一次不能有一个文件。所有这些文件的总行数。非常感谢您的建议。提前感谢。

使用
wc(1)

或者,仅获取数字(用于脚本中):

但是,50000可能超过“最大参数数”限制,因此请使用
find-执行…

find . -name 'File_*.rds' -exec cat "{}" + | wc -l

cat File.*.rds | wc-l
应该可以工作,假设文件的每一行都是一行。编辑:划掉那个。我很确定50000个文件将超过arg的最大数量。因此,您可能需要使用
find-name“File.*.rds”-exec cat{}而不是
cat文件*
。如果您不想递归到子目录中,那么在查找的可能重复项之后添加
-maxdepth 1
,很难说您的代码有什么问题,因为您没有提供它或遇到了错误。另请参见。您可以通过使用
-exec cat{}+
来最小化调用
cat
的次数,谢谢@BenjaminW!刚刚了解了
+
:)
wc -l File_*.rds | awk '/ total/{ print $1 }'
find . -name 'File_*.rds' -exec cat "{}" + | wc -l