获取目录中多个子目录中的文件总数(不包括黑线)

时间:2016-09-15 06:00:34

标签: python bash python-2.7 readline subdirectory

我希望有一个脚本遍历目录中的每个文件(包括子目录),并在所有文件中返回总行数,不包括空白行< / strong>和排除有关键字的文件夹/文件(日志)

我目前有一行代码可以在单个目录&#39;文件&#39;的文件中返回总行数(包括空白行)。

cat /home/user/files/* | wc -l

是否有某种方式可以实现,以便我可以调用可以读取的代码,例如:

- /home/user/files/*
- /home/user/files/files2/*
- /home/user/files/files2/files3/*

一堆目录(未知号码)并返回所有文件的总行数(不包括空行)(并且不包括其上有关键字的文件夹/文件(日志))。

我目前正在使用BASH编写脚本,但如果在python中有解决方案,我非常乐意使用它。

1 个答案:

答案 0 :(得分:1)

尝试递归查找目录中的所有文件(-type f标志以查找)。 请注意,这也将打印出二进制文件,就像您当前的代码一样。

find /home/user/files/ -type f -exec cat {} \; | wc -l

修改:Use wc on all subdirectories to count the sum of lines中提供的--files-from解决方案效率更高,与问题评论相关联