假设现有目录结构如下:
.
├── 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
