Сценарии Shell Bash - Как выполнить итерации через каталоги, и скопировать и переименовать файлы?

У меня есть установка каталога следующим образом:

/hosted/partner1/logo.png
/hosted/partner2/logo.png
/hosted/partner3/logo.png
/hosted/partner4/logo.png
/hosted/partner5/logo.png
..etc.

Я хочу записать сценарий, который может СКОПИРОВАТЬ те файлы в другое местоположение, с другим именем файла, как это:

/partners/partner1.png
/partners/partner2.png
/partners/partner3.png
..etc.

Какие-либо идеи? Я не являюсь настолько великим со сценариями оболочки и существует много файлов, которые я должен переместить в единственный каталог...

4
задан 17.05.2010, 22:47

1 ответ

find /hosted -maxdepth 1 -name "partner*" -type d | while read -r dir
do
    cp "${dir}/logo.png" "/partners/$(basename ${dir}).png"
done

Или

find /hosted -maxdepth 1 -name "partner*" -type d | while read -r dir
do
    cp "${dir}/logo.png" "/partners/${dir##*/}.png"
done
7
ответ дан 07.12.2019, 19:57

Теги

Похожие вопросы