На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
kotnaton
Сообщения: 234
Сообщение
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
Администратор
Сообщения: 5272
ОС: Gentoo
Сообщение
/dev/random » 29.05.2018 02:51
Аргумент bash -c заключён в двойные кавычки, которые, в отличие от одинарных, не препятствуют выполнению подстановок. Это значит, что все эти dirname и basename будут выполнены вашей текущей оболочкой, до запуска find.