gpt4 book ai didi

linux - 如果排除 -name,则 find -amin 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:54 24 4
gpt4 key购买 nike

我在 x86_64 硬件上运行 GNU Linux 6.2。我所在的目录有 1237 个文件。我想列出过去 36 小时内创建的文件,由于我无法让 -atime 工作,所以我使用“-amin 2160”:

$ find . -amin -2160 -name 'Ar*' -exec ls -l {} \;
-rw-r--r-- 1 oracle dba 2318 Aug 30 04:04 ./Archivelog_backup_08302015040300.log
-rw-r--r-- 1 oracle dba 2317 Aug 30 10:03 ./Archivelog_backup_08302015100321.log
-rw-r--r-- 1 oracle dba 1920 Aug 30 16:21 ./Archivelog_backup_08302015160300.log
-rw-r--r-- 1 oracle dba 2318 Aug 30 22:04 ./Archivelog_backup_08302015220300.log
-rw-r--r-- 1 oracle dba 2318 Aug 31 04:03 ./Archivelog_backup_08312015040300.log
-rw-r--r-- 1 oracle dba 2318 Aug 31 10:04 ./Archivelog_backup_08312015100320.log

但是由于我不在乎名称是什么,并且我想查看过去 2160 分钟内触及的所有文件,因此我输入此命令,

find . -amin -2160 -exec ls -l {} \; 

但它列出了目录中的所有 1237 个文件以及满足条件的 6 个文件。为什么?

谦虚,

最佳答案

因为其中一个匹配项是目录条目。

这里的真正教训是不要在脚本中使用lsfind 具有出色、明确的替换,例如 -printf 谓词。另请参阅http://mywiki.wooledge.org/ParsingLs

您可能还想添加 -type f 以避免列出目录。

find . -type f -amin -2160 -printf '%s %f\n'

您在格式字符串中放入的内容显然取决于您实际想要为每个匹配文件提取哪些信息。

关于linux - 如果排除 -name,则 find -amin 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32317498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com