假设现有目录结构如下:
. ├── dir1 │ ├── dir2 │ │ └── dir3 │ │ └── file2 │ └── file1 ├── dir4 │ └── file3 └── dir5 └── dir6 ├── dir4 │ └── file4 └── file4 7 directories, 5 files
下面示例中,我们使用查找'-prune'选项来排除位于当前工作目录中的dir4
目录
$find . -path ./dir4 -prune -o -print . ./dir1 ./dir1/dir2 ./dir1/dir2/dir3 ./dir1/dir2/dir3/file2 ./dir1/file1 ./dir5 ./dir5/dir6 ./dir5/dir6/file4 ./dir5/dir6/dir4 ./dir5/dir6/dir4/file4
目录树包含两个名为dir4
的目录。
但是,上面的命令仅排除了我们当前工作目录中的单个目录。
以下Linux命令将仅列出目录类型,可用于排除两个dir4
目录:
$find . -type d \( ! -name dir4 \) -print . ./dir1 ./dir1/dir2 ./dir1/dir2/dir3 ./dir5 ./dir5/dir6
下面的示例演示了如何将所有找到的文件复制到/tmp目录:
$ find . -type f -not -path "./dir1/*" -not -path "./dir4/*" -exec cp '{}' /tmp \;
日期:2020-07-07 20:56:46 来源:oir作者:oir