將檔案從目錄上移一級

將檔案從目錄上移一級

我有一個包含多個子資料夾的檔案結構,我想在其中搜尋包含特定字串(“sub*”)的所有子資料夾,然後將這些找到的資料夾中的所有檔案從各自的位置向上移動一級。甚至可能刪除當時的空白資料夾,但我也可以透過第二步來做到這一點。

答案1

這應該可以做到:

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

筆記:這不會移動隱藏檔案(其名稱以 開頭.

答案2

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

相關內容