Shell

只移動文件,不移動目錄?

  • April 14, 2017

我想將文件夾內的所有文件(但不是文件夾)移動到另一個目錄。

我一直在使用這個命令:

find . -maxdepth 1 -type f -exec mv {} destination_folder \;

但是現在我想移動除以“exe_”開頭的文件之外的所有文件,所以我嘗試了:

find . -maxdepth 1 -type f -exec mv !(exe_*) part1a_si_atom-exp001 \;

但現在它也移動目錄。我能做些什麼?

!(exe_*)甚至在你的 find 命令執行之前就被你的 shell 解釋和擴展。相反,請嘗試使用該-name標誌來查找:

find . -maxdepth 1 -type f -not -name 'exe_*' -exec mv {} destination_folder \;

我還建議使用+而不是;作為-exec命令的終止符來減少成本。

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