如何從所有目錄(即Case-r20-c020-t001-da1
,...)複製映像資料夾到維護原始目錄名稱(例如,...)Case-r20-c020-t001-dan
的新路徑。假設我有一個如下的目錄結構;Case-r20-c020-t001-da1
Case-r20-c020-t001-dan
Case-r20-c020-t001-da1/
|____image/ <<<< This is a folder that has some pictures
|______ jpg
|______ png
|____infromation/ <<<< This is a folder.
|_______ text1.txt
|_______ text2.txt
|____ file1.txt
Case-r20-c020-t001-da2/
|____image/
|______ jpg
|______ png
|____infromation/
|_______ text1.txt
|_______ text2.txt
|____ file1.txt
: 。
Case-r20-c020-t001-dan/ <<< n goes from 3,...20.
|____image/
|______ jpg
|______ png
|____infromation/
|_______ text1.txt
|_______ text2.txt
|____ file1.txt
我的初步嘗試如下;
for f in Case-r20-c020-t001-da*;do (cp -r images /path/folder*);done
所以,我想將上面的內容複製到新的目錄中,輸出必須如下所示;
Case-r20-c020-t001-da1_images/
|____image/
|______ jpg
|______ png
Case-r20-c020-t001-da2_images/
|____image/
|______ jpg
|______ png
: 。
Case-r20-c020-t001-dan_images/
|____image/
|______ jpg
|______ png
我比較喜歡當一名指揮官。
任何幫助,將不勝感激。
謝謝,
答案1
作為一個小腳本會更清楚,但這裡它被寫成一個指令。為了清晰起見,它分為兩行:如果您希望將兩行連接在一起,請刪除反斜線。
for old in /old/path/Case-r20-c020-t001-da*; \
do new="/new/path/$(basename $old)_images"; mkdir -p "$new" && cp -r "$old/image" "$new/"; done