如何從維護資料夾名稱的目錄複製資料夾/檔案

如何從維護資料夾名稱的目錄複製資料夾/檔案

如何從所有目錄(即Case-r20-c020-t001-da1,...)複製映像資料夾到維護原始目錄名稱(例如,...)Case-r20-c020-t001-dan的新路徑。假設我有一個如下的目錄結構;Case-r20-c020-t001-da1Case-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

相關內容