Как скопировать папки с изображениями из всех каталогов 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