将文件从目录上移一级

将文件从目录上移一级

我有一个包含多个子文件夹的文件结构,我想在其中搜索包含特定字符串(“sub*”)的所有子文件夹,然后将这些找到的文件夹中的所有文件从各自的位置向上移动一级。甚至可能删除当时的空文件夹,但我也可以通过第二步来做到这一点。

答案1

这应该可以做到:

find /path/to/base/folder/ -type d -name 'sub*' -exec bash -c 'mv {}/* "$(dirname {})"' \;

笔记:这不会移动隐藏文件(其名称以 开头.

答案2

find /path/to -type f -execdir mv {} .. \;

相关内容