是否有任何sh腳本可將文件夾中的所有子元素複製到其他多個文件夾。我想到的是這樣的。下面的文件夾將被複制。將文件夾的子項複製到多個文件夾
/Parent/ChildDir1
/Parent/ChildDir2
/Parent/ChildFile1
/Parent/ChildFile2
目的地會是這樣
/X/a/
/X/b/
/X/c/
的改寫是必要的。
感謝
是否有任何sh腳本可將文件夾中的所有子元素複製到其他多個文件夾。我想到的是這樣的。下面的文件夾將被複制。將文件夾的子項複製到多個文件夾
/Parent/ChildDir1
/Parent/ChildDir2
/Parent/ChildFile1
/Parent/ChildFile2
目的地會是這樣
/X/a/
/X/b/
/X/c/
的改寫是必要的。
感謝
據我瞭解你,你要一切從/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
正確調用可能是可移動的額外:
,我不能:(
您可以使用find
查找所有目錄中X
即X/A,X/b,X/C等,然後遞歸複製源目錄放進去:
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
哪個Shell?目標目錄是否已經存在? –
你能否澄清一下應該去哪裏?即'/ Parent/ChildDir1 =>/X/a','/ Parent/ChildDir2 =>/X/b'還是你的意思是其他映射? – Kerido
所有的孩子都會去到每個/ X/* /目錄 – skuul