フォルダ名を維持したままディレクトリからフォルダ/ファイルをコピーするにはどうすればいいですか

フォルダ名を維持したままディレクトリからフォルダ/ファイルをコピーするにはどうすればいいですか

すべてのディレクトリ (例: 、...) からイメージ フォルダをCase-r20-c020-t001-da1Case-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つのコマンドであることを好みます。

ご協力いただければ幸いです。

ありがとう、

答え1

小さなスクリプトにするとわかりやすくなりますが、ここでは 1 つのコマンドとして記述します。わかりやすくするために 2 行に分割されています。行を結合する場合は、バックスラッシュを削除してください。

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

関連情報