そのディレクトリに特定のファイルがあるディレクトリのみをコピーする方法

そのディレクトリに特定のファイルがあるディレクトリのみをコピーする方法
Main_Directory
     |
Event_Subdirectories
     |
*.mcp .otherfiles

すべてのEvent_SubdirectoriesをEvent_subdirectoryに* .mcpファイルを持つ別のMain_Directoryにコピーしたいのですが、どうすればいいのかわかりません。 rsyncを使用していますか?

ベストアンサー1

同期

rsyncを使用すると簡単にする必要がありますが、完全ではありません。

存在すると仮定し、./new_Main_Directoryそうでない場合mkdir ./new_Main_Directory

rsync -a --include '*/' --include '*.mcp' --exclude '*' Main_Directory/ new_Main_Directory/

これにより、* .mcpファイルとそのファイルを含むディレクトリ構造のみがコピーされます。このオプションを使用すると、いつでもrsyncコマンドをテストできます--dry-run

源泉:http://ubuntuforums.org/showthread.php?t=763833

CP

cpを使用するには、以下を試してください。

for d in ./*/; do
set -- "$d/"*.mcp
if [ -e "$1" ]; then
   # there is at least one .mcp file in $d
   cp -rp -- "$d" ./new_Main_Directory/
fi
done

源泉:ファイル形式を含むディレクトリの検索とコピー

おすすめ記事