如何获取目录中所有文件的行数
Posted
技术标签:
【中文标题】如何获取目录中所有文件的行数【英文标题】:How to get the line-count of all the files in a directory 【发布时间】:2017-10-27 12:38:49 【问题描述】:我被要求获取某个目录中所有文件的行数,该目录的路径将作为终端参数提供。
到目前为止我的解决方案是:
wc -l "$1/"*
但是这样做也会给我一些不必要的输出,比如:
wc: '/home/user/Desktop/Dir': Is a directory
那么我怎样才能只打印实际文件而不是目录的结果呢? 那我怎么能只显示最多10分钟前编辑过的呢?
【问题讨论】:
你可以忽略错误信息:wc -l "$1/"* 2> /dev/null
这能回答你的问题吗? How can I count all the lines of code in a directory recursively?
【参考方案1】:
你的这个:
find ./pathToDirectory -type f -exec wc -l +
【讨论】:
问题的编辑版本确实有效,谢谢!【参考方案2】:创建一个修改时间在 10 分钟前的文件
touch -t $(date -d '10 min ago' +%Y%m%d%H%M.%S) special_flagtime.txt
添加选项 -newer special_flagtime.txt
或 ! -newer special_flagtime.txt
查找命令。
例如:
find "$1" -type f -newer special_flagtime.txt -exec wc -l +
【讨论】:
与仅使用标准的-mtime
主文件(-newer
不是)相比,创建标记文件需要大量工作。
@chepner -mtime
找不到修改时间小于 10 分钟的文件 -mtime n File’s data was last modified n*24 hours ago
;再次阅读手册页有选项 -mmin 也可以使用以上是关于如何获取目录中所有文件的行数的主要内容,如果未能解决你的问题,请参考以下文章