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

2024-04-20 03:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想有一个脚本,遍历目录(包括子目录)中的每个文件,并返回所有文件中的总行数不包括空行不包括包含关键字的文件夹/文件(日志)

我现在有一行代码,它返回一个目录下文件的总行数(包括空行)

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

有没有什么方法可以实现,这样我就可以调用一个可以通读的代码,例如:

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

一堆目录(未知数字)并返回我找到的所有文件的总行数(不包括空行)(也不包括在它们上面有关键字的文件夹/文件(日志))

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


Tags: 文件方法代码目录脚本文件夹home关键字
1条回答
网友
1楼 · 发布于 2024-04-20 03:31:33

尝试递归地查找目录中的所有文件(-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解决方案更有效,如问题注释中所链接的

相关问题 更多 >