复制除一个以外的所有目录

问题描述 投票:1回答:2

我正在将所有子目录及其内容复制到我当前的目录,如下所示:

cp -r dirToCopy/* .

但是在文件夹dirToCopy中,有一个名为dirNotToCopy的子文件夹,不应复制。

如何从表达式中过滤掉该特定文件夹?

linux cp
2个回答
1
投票

使用扩展的globbing:

shopt -s extglob
cp -r dirToCopy/!(dirNotToCopy) .

1
投票

好吧,如果你想在单行中这样做:

find /path_to/dirToCopy -mindepth 1 -type d  ! -name dirNotToCopy -exec cp -r {} . \; 

另一种做同样的方式。

© www.soinside.com 2019 - 2024. All rights reserved.