Files

如何使用最少數量的命令將所有 .txt 文件從所有子目錄複製到一個目錄?

  • April 18, 2016

我有 90 多個子目錄,每個子目錄中都會有許多 .txt 文件。

我需要做的是將所有這些 txt 文件複製到一個目錄中。

我怎樣才能做到這一點?

使用命令:

find . -name "*.txt" -exec cp {} /path/to/destination \;

為了避免cp每個文件執行一個(如-exec cp {} /dest \;):

find . -name '*.txt" -type f -exec sh -c '
 exec cp "$@" /path/to/destination' sh {} +

或者使用 GNU cp

find . -name '*.txt" -type f -exec cp -t /path/to/destination {} +

zsh

cp ./**/*.txt(.) /path/to/destination

或者

cp ./**/*.txt(D.) /path/to/destination

如果您想在find解決方案中包含隱藏文件(或隱藏目錄中的文件)。

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