Как найти, обработать файл, и сохранить в новом месте, сохранив пути

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, t.t

kotnaton
Сообщения: 220

Как найти, обработать файл, и сохранить в новом месте, сохранив пути

Сообщение kotnaton » 29.05.2018 02:39

По мотивам прежней темы

Нужно типа такого:

Код: Выделить всё

find . -name "*.wav" -exec bash -c "mkdir -p /mnt/destination/$(dirname "{}") && faac "$i" -o /mnt/destination/$(dirname "{}")/$(basename "{}").aac" \;
Но dirname возвращает почему-то не путь, а, в лучшем случае, полное имя файла, а в приведённой конструкции - только текущую директорию
Последний раз редактировалось kotnaton 29.05.2018 02:55, всего редактировалось 1 раз.
бывает же такое ???
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4656
ОС: Gentoo

Re: Как найти, обработать файл, и сохранить в новом месте, сохранив структуру директорий

Сообщение /dev/random » 29.05.2018 02:51

Аргумент bash -c заключён в двойные кавычки, которые, в отличие от одинарных, не препятствуют выполнению подстановок. Это значит, что все эти dirname и basename будут выполнены вашей текущей оболочкой, до запуска find.
Спасибо сказали: