如何获取find | grep keyword命令后文件的时间信息?

如何获取find | grep keyword命令后文件的时间信息?

现在我知道如何使用 find | grep 关键字来获取我想要的文件。

但之后,我如何知道我找到的每个文件的大小、create_time 信息?

例如,在 find | grep 教程之后,我得到了这个:

./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial

如何查看它们的创建时间和大小?

答案1

您一开始就错误地使用了findgrepfind完全能够过滤文件。 您不需要grep它 — 事实上,不建议像这样打乱文件名。

这样做:

find -name '*tutorial*' -exec <some-command> {} \;

这里,<some-command>将对找到的每个文件运行 ,其名称将替换{}。例如,要获取文件大小:

find -name '*tutorial*' -exec du {} \;

如果给定的命令支持传递多个文件参数,则使用\+而不是\;将使命令同时在所有文件上执行。这将加快该过程。find


或者你甚至可以直接用 Bash 来做:

shopt -s globstar
du **/*tutorial*

这里,**递归遍历所有目录。


至于创建时间:传统上,它不会被存储。您只会获得上次访问、修改和状态更改的时间。查看有关stat。文件系统确实ext4将创建时间存储为“出生时间”。因此,stat -c %w对那些人来说是可行的。阅读有关此问题的更多信息这里

相关内容