最小限のコマンド数ですべてのサブディレクトリ内のすべての.txtファイルをディレクトリにコピーするにはどうすればよいですか?

最小限のコマンド数ですべてのサブディレクトリ内のすべての.txtファイルをディレクトリにコピーするにはどうすればよいですか?

90を超えるサブディレクトリがあり、各サブディレクトリには多くの.txtファイルがあります。

私がしなければならないのは、これらすべてのtxtファイルをディレクトリにコピーすることです。

どうすればいいですか?

答え1

使用コマンド:

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

答え2

cpファイルごとに1つずつ実行したくない場合は(と同じ-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ソリューションなど、隠しファイル(または隠しディレクトリのファイル)を含める場合。

関連情報