我有一个包含多个子文件夹的文件结构,我想在其中搜索包含特定字符串(“sub*”)的所有子文件夹,然后将这些找到的文件夹中的所有文件从各自的位置向上移动一级。甚至可能删除当时的空文件夹,但我也可以通过第二步来做到这一点。
答案1
这应该可以做到:
find /path/to/base/folder/ -type d -name 'sub*' -exec bash -c 'mv {}/* "$(dirname {})"' \;
笔记:这不会移动隐藏文件(其名称以 开头.
)
答案2
find /path/to -type f -execdir mv {} .. \;