此命令以非递归方式打印工作目录中具有以句点开头的基本名称(也称为隐藏条目)的文件/目录。
find . -maxdepth 1 -name '.*'
要打印除那些隐藏条目之外的所有内容,我希望以下命令能够工作......但没有打印任何内容。
find . -maxdepth 1 -name '.*' -prune -o -print
我在我的主目录中运行了这些命令,其中存在一些非隐藏条目,例如文件,下载我希望打印的目录、一些杂项文件等。
有人可以解释一下为什么吗?
答案1
谓词-prune
修剪目录- 在这种情况下,-name
将匹配起始目录.
,从而修剪整个树。
你想要做的只是否定匹配-name
:
find . -maxdepth 1 ! -name '.*'
或者
find . -maxdepth 1 -not -name '.*'