フォルダ内のすべての子要素を他の複数のフォルダにコピーするshスクリプトはありますか。私が心に持っているのは、このようなものです。下のフォルダがコピーされます。このフォルダの子を複数のフォルダにコピーする
/X/a/
/X/b/
/X/c/
上書きが必要であるように
/Parent/ChildDir1
/Parent/ChildDir2
/Parent/ChildFile1
/Parent/ChildFile2
の目的地になります。
おかげ
フォルダ内のすべての子要素を他の複数のフォルダにコピーするshスクリプトはありますか。私が心に持っているのは、このようなものです。下のフォルダがコピーされます。このフォルダの子を複数のフォルダにコピーする
/X/a/
/X/b/
/X/c/
上書きが必要であるように
/Parent/ChildDir1
/Parent/ChildDir2
/Parent/ChildFile1
/Parent/ChildFile2
の目的地になります。
おかげ
私はあなたを理解しているように、あなたはいくつかの先のフォルダに/Parent/
からすべてをコピーしたいですか?したがって、/X/a/
,/X/b/
および/X/c/
のそれぞれには、独自の独立したコピーがあります。その場合は、あなただけのこのような全ての目的地をループできます
DESTS = "/X/a/:/X/b/:/X/c/:"
SRC = "/Parent/"
while read -d: ddir; do
cp -r "$SRC" "$ddir"
done <<< $DESTS
DESTS
の最後に余分な:
あなたはread
の右の呼び出しを見つけた場合、私は
あなたはX
すなわちX/A、X/B、X/Cなどですべてのディレクトリを検索しfind
を使用して、再帰的にそれらにあなたのソースディレクトリにコピーすることができます
find /path/to/X -type d -maxdepth 1 -exec cp -r /path/to/Parent {} \;
ディレクトリリスト場合ファイル内の各行を読み込んで、次のようにcp
を実行するだけです:
while IFS= read -r dir
do
cp -r /path/to/Parent "$dir"
done < dirs.txt
どちらのシェルですか?ターゲットディレクトリはすでに存在していますか? –
どこに行かなければならないのか明確にしてください。私。 '/ Parent/ChildDir1 =>/X/a'、'/Parent/ChildDir2 =>/X/b'または他のマッピングを意味しましたか? – Kerido
すべての子供たちはそれぞれ/ X/* /ディレクトリに行きます – skuul