Files

遞歸複製文件而不保留目錄

  • March 25, 2018

我有一堆包含 MP3 文件的目錄。這些目錄中不包含其他目錄。

如何在不刪除文件的情況下刪除所有目錄結構?

這基本上是將在這些目錄中找到的所有文件移動到目前目錄。目前目錄是其他目錄所在的目錄。

find和單線性:

find . -mindepth 2 -type f -execdir sh -c 'mv -vt ../ "$@" ; rmdir "$PWD"' _ {} +
  • -mindepth 2將讓find命令忽略目前目錄的文件。
  • -execdir這在這裡很重要,這使得find將目前目錄更改為找到文件的目錄,其中的命令將在該目錄本身上執行。
  • mv -vt ../ "$@",這將擴展為mv -vt ../ "file1" "file 2" "..." "fileN"
  • rmdir "$PWD"將刪除將在所有文件移至parentDirectory-execdir後執行的目錄。

請注意,在移動到目標路徑時,您不會覆蓋具有相同文件名的文件。

引用自:https://unix.stackexchange.com/questions/433433