Linux - 在多个子文件夹中移动文件

Linux - 在多个子文件夹中移动文件

我查看了其他答案,但它们似乎不太符合我想要做的事情,所以如果我遗漏了什么并且这是一个重复的问题,请原谅我。

我正在尝试移动子文件夹中的文件。这是当前的文件夹树:

Parent_folder
|     |SubfolderA
|     |     |Sub_subfolderAA
|     |     |     |FileAAA.abc
|     |     |     |FileAAB.abc
|     |     |     |FileAAB.abc
|     |     |Sub_subfolderAB
|     |     |     |FileABA.abc
|     |     |     |FileABB.abc
|     |     |     |FileABB.abc
|     |SubfolderB
|     |     |Sub_subfolderBA
|     |     |     |FileBAA.abc
|     |     |     |FileBAB.abc
|     |     |     |FileBAB.abc
|     |     |Sub_subfolderBB
|     |     |     |FileBBA.abc
|     |     |     |FileBBB.abc
|     |     |     |FileBBB.abc

在这个例子中,我希望能够运行一个命令,将 Sub_subfolders 内的所有文件移动到其父子文件夹中,并对父文件夹中的所有子文件夹重复该操作。

答案1

如果子文件夹中只有文件(没有文件夹),则以下代码行应该可以执行此操作:

cd Parent_folder
for folder in *   #loop over all folders in the Parent_folder
do
    cd $folder
    mv */* .      # move all the files inside folder to their parent subfolder
    cd ..         # go back to Parent_folder
done

相关内容