我希望有一个脚本遍历目录中的每个文件(包括子目录),并在所有文件中返回总行数,不包括空白行< / strong>和排除有关键字的文件夹/文件(日志)。
我目前有一行代码可以在单个目录&#39;文件&#39;的文件中返回总行数(包括空白行)。
cat /home/user/files/* | wc -l
是否有某种方式可以实现,以便我可以调用可以读取的代码,例如:
- /home/user/files/*
- /home/user/files/files2/*
- /home/user/files/files2/files3/*
一堆目录(未知号码)并返回所有文件的总行数(不包括空行)(并且不包括其上有关键字的文件夹/文件(日志))。
我目前正在使用BASH编写脚本,但如果在python中有解决方案,我非常乐意使用它。
答案 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
解决方案效率更高,与问题评论相关联