Ada*_*tan 5 command-line hidden-files find
我想列出我路径中的所有非隐藏文件和目录。
这意味着.应该从结果中排除以开头的文件,以及路径包含隐藏目录的文件:
foo/bar/.bazz.rc # Exclude
foo/.bar/bazz.rc # Exclude
Run Code Online (Sandbox Code Playgroud)
我怎么做?我试过了:
find -maxdepth 2 -not -iname "*/.*"
Run Code Online (Sandbox Code Playgroud)
但是我的结果中仍然有隐藏文件。
使用path而不是iname:
find -not -path '*/.*'
Run Code Online (Sandbox Code Playgroud)
*- 匹配任何字符串。/- 目录分隔符。小智 1
您也可以做相反的事情并将它们匹配。它允许find修剪,这可以防止下降到匹配的目录,它可以大大加快您的搜索速度。
find -path '*/.*' -prune -o -print
Run Code Online (Sandbox Code Playgroud)
-print在右侧显式使用仅打印不匹配的对象,在本例中为可见文件和文件夹。