LINUX.ORG.RU

Напишите простой скрипт пожалуйста


0

0

Есть 2 директории. Иерархия второй отчасти повторяет иерархию первой (то есть, например, в первой директории есть AAA/B1, AAA/B2 и BBB/C1, а во второй - AAA/B2 и BBB/C1). Надо все файлы с именем cover.jpg из первой директории (и глубже) скопировать во вторую директорию с сохранением иерархии, если место куда копировать существует (то есть если нужная часть иерархии есть).

★★★★★

Варез приводишь в порядок, да? Где же твой amarok, kde-ешник, когда он тебе нужен?

anonymous
()

#!/bin/bash

dir1=/path/to/dir/number/one
dir2=/path/to/second/dir

find $dir1 -name 'cover.jpg' -print | \
while read f; do
	d=$(dirname $f)
	d=${d/$dir1}
	if [ -d "$dir2/$d" ]; then
		cp "$f" "$dir2/$d/"$(basename $f)
	fi
done

что-то примерно такое

AnDoR ★★★★★
()

AnDoR, спасибо, попробую

> Варез приводишь в порядок, да? Где же твой amarok, kde-ешник, когда он тебе нужен?

Большая часть дисков рипнуто с лицензии

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от AnDoR

Заработало больше небольшого упрощения и исправления, твой не хотел работать с пробелами в именах

#!/bin/bash

dir1=~/music
dir2=~/convmusic

find $dir1 -name 'cover.jpg' -print | \
while read f; do
d=$(dirname "$f")
d=${d/$dir1}
if [ -d "$dir2/$d" ]; then
cp "$f" "$dir2/$d"
fi
done

Спасибо! Осталось только разобраться, как пользоваться convert'ом для резайзинга изображений, но это я уже сам :)

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Итог:

#!/bin/bash

dir1=~/music
dir2=~/convmusic

find $dir1 -name 'cover.jpg' -print | \
while read f; do
d=$(dirname "$f")
d=${d/$dir1}
if [ -d "$dir2/$d" ]; then
convert "$f" -resize 200x200\! "$dir2/$d/"cover.jpg
fi
done

Большое спасибо!

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Все мои реально лицензионные диски не поддаются простому "рипу". Так что прокурору расскажешь

anonymous
()
Ответ на: комментарий от INFOMAN

Против DRM? А на какие деньги моя любимая группа выпустит новый альбом? Если бы "кто-то" не воровал контент, то и не было бы DRM.

anonymous
()
Ответ на: комментарий от INFOMAN

Я уважаю себя и исполнителей (ну, или собственников прав на целевой контент), соблюдаю закон и не держу фонотеку пиратского стаффа.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.