查找命令行参数路径

查找命令行参数路径

有人能解释一下是什么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将忽略查找路径中的所有目录。

相关内容