【问题标题】: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分钟前编辑过的呢?

【问题讨论】:

标签: linux bash


【解决方案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 也可以使用
猜你喜欢
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 2017-08-20
  • 1970-01-01
相关资源
最近更新 更多