删除子文件夹而不删除文件

删除子文件夹而不删除文件

我有一个下面的目录()。我想删除子文件夹并将文件移动到文件夹()。我怎样才能将其存档?谢谢

Folder
 |-----Sub-folder1
 |        |------ fileA.txt
 |        |------ fileB.txt
 |-----Sub-folder2
          |------ fileC.txt
          |------ fileD.txt

Folder
 |------ fileA.txt
 |------ fileB.txt
 |------ fileC.txt
 |------ fileD.txt

答案1

你可以这样做

mv **/* .

注意:这会覆盖同名文件

shopt -s globstar正如卡西莫多指出的那样,这需要:

如果设置,路径名扩展上下文中使用的模式 ** 将匹配所有文件以及零个或多个目录和子目录。如果模式后跟 /,则仅目录和子目录匹配。

答案2

首先将子文件夹中的所有文件移动到当前目录:

find . -type f -exec mv {} . \;

然后删除子目录

find . -type d -delete

注意:这会覆盖同名文件

相关内容