移动除名为 .foo 的文件夹之外的所有文件和文件夹

移动除名为 .foo 的文件夹之外的所有文件和文件夹

我有文件夹结构,其中一些子文件夹内有 .foo 子文件夹。我想将根文件夹结构从 foldera 移动到 folderb。我该怎么做?

答案1

如果您可以删除 .foo 文件夹,那么很简单...只需删除它们,然后移动整个内容:

find foldera -type d -name .foo -exec rm -rf '{}' \;
mv foldera folderb

如果您想保留 .foo 文件夹,那么您可以移动整个文件夹,然后只将 .foo 文件夹移回:

mv foldera folderb
cd folderb
find -type d -name .foo -exec mkdir ../foldera/'{}' -p \;
find -type d -name .foo -exec mv '{}' ../foldera/'{}' \;

希望这可以帮助。

相关内容