Files
將所有文件從子目錄移動到父目錄
我有一個這樣的目錄結構:
├── Tom │ └── c │ └── 2 │ ├── file.jpg │ └── text.txt └── Sam ├── 1 │ └── c │ └── music.aac ├── E │ └── 9 │ └── pic.jpg └── b ├── 9 │ └── sound.aac └── d └── book.doc
我想用一個命令將所有文件從各個子文件夾移動到主父文件夾(Tom、Sam 等),然後刪除所有空子文件夾。我怎樣才能做到這一點?
謝謝
不知道為什麼它必須是單線。但這是一種可能性。它查找給定目錄樹中的所有文件,並將每個這樣的文件向上移動兩個目錄。
find -type f | while read; do mv "$REPLY" "$(dirname $REPLY)/../../"; done
請謹慎使用,因為該命令非常適合您給出的目錄結構,並且不考慮其他情況(例如,它將從所有目錄移動文件,而不僅僅是在您顯示的葉目錄中)。
怎麼樣
find Tom Sam -type f | while read FN; do echo mv "$FN" "${FN%%/*}"; done