有人能解释一下是什么find -path
意思吗?
我尝试查看手册页,但我不明白为什么它按照我编写的脚本的方式运行。
find ! -path . -type d -printf '%T@ %P\n' | sort -nr | head -n3 | awk '{print $2}'
这会向我返回当前文件夹中最后三个修改的目录。但是,当我删除它时,它-path .
只会向我返回文件,而不是文件夹。就好像-type d
被忽略了一样。
答案1
如果您删除 ,-path .
但保留!
开头的 ,则-type d
不会被忽略,您的条件是! -type d
,这意味着“不是目录”。所以你得到了你所要求的。
答案2
您尝试的命令将忽略带有参数的当前文件夹! -path .
。由于您仅删除了-path .
非运算符,该运算符!
将应用于后续参数,-type d
。
结果是,find
将忽略查找路径中的所有目录。