指定された種類のファイルのみを含むディレクトリをコピーする方法は?

指定された種類のファイルのみを含むディレクトリをコピーする方法は?

私は多くのPythonファイル(および.gitなどのいくつかの特殊ファイル)を含むgitディレクトリを持っています。
このPythonファイルを別のディレクトリにコピーし、ディレクトリ構造は同じままです。

どうすればいいですか?

答え1

destination_dirフルパスを含むファイルを受け取ります。/

find /path/git_directory -type f -iname "*.py" \
                         -exec cp --parents -t /path/destination_dir {} +

他の解決策はrsync

rsync -Rr --prune-empty-dirs \
      --include="*.py" \
      --include="**/" \
      --exclude="*" \
      /path/git_directory /path/destination_dir

関連情報