2

我需要获取系统上大约 1M+ 个文件的文件信息(名称、大小、修改日期)。我目前使用的命令是:

sudo find "$FULFILLMENT" "$ARCH1" "$ARCH2" "$MASTERING" -type f -exec ls -lT {} +

有没有办法改善这一点?唯一的要求是我必须获取上述卷中的所有文件,并为每个文件提取名称、大小和 date_modified。

(有没有办法在这里执行 stat 命令?这会加快速度吗?)

这在光纤连接的机器上大约需要一个小时。

4

1 回答 1

4

ls您可以使用find的内置打印,而不是将打印输出到:

sudo find ... -type f -printf '%p      %s      %t\n'

我不确定这会快多少,但它可以节省分叉到ls,并且不必再次查询磁盘以通过已有的信息检索信息lsfind因此它至少应该更快一些。

(顺便说一句,您可以搜索man find有关-printf这些格式字符串的更多信息。特别是,您可以自定义上次修改时间的表示,并且可以为其他字段指定显式字段宽度。)

于 2013-01-30T01:15:02.887 回答