![]() |
Модераторы: powerfox, ZeeLax |
![]() ![]() ![]() |
|
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Как сделать, что приведенный ниже код корректно работал при наличии пробелов в именах файлов:
Добавлено через 2 минуты и 25 секунд Я так понимаю, надо как-то заставить ls экранировать пробелы. |
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 6 Всего: 19 |
Тут проблема не в ls, а в том, что for считает пробел разделителем. Сделай так:
Это сообщение отредактировал(а) newbee - 15.12.2011, 10:51 -------------------- You're face to face With man who sold the world |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Делал подобное вчера ночью. Обрабатывался только первый файл. И всё.
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 6 Всего: 19 |
Что-то "подобное" ты делал неправильно.
Добавлено через 3 минуты и 57 секунд Отредактировала предыдущий комментарий, кавычки забыла поставить. -------------------- You're face to face With man who sold the world |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Спасибо. А не могли бы объяснить, что еще за возможность с заданием переменной
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 6 Всего: 19 |
Переменная IFS задает разделитель (или набор разделителей - я не помню) для for. Но он мне издавна не нравился, поэтому я про него сразу и не вспомнила. Тебе еще можно сделать так:
-------------------- You're face to face With man who sold the world |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Вот этот код с помощью ffmpeg все равно обработает только первый файл:
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 6 Всего: 19 |
Хм, полчаса проковырялась. ffmpeg похоже переводит терминал в интерактивный режим и из-за этого шелл "забывает" о цикле... Наверое есть более правильное объяснение этому явлению, и, надеюсь, его здесь приведут, но решение я таки придумала
![]()
-------------------- You're face to face With man who sold the world |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Спасибо Вам большое, newbee. Если не секрет, объясните ход Ваших мыслей.
|
|||
|
||||
newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 6 Всего: 19 |
Пожалуйста.
Ход мыслей такой... Во время выполнения кодирования ffmpeg написал что-то вроде "нажми на q, чтобы выйти". Я ничего не трогала, но после обработки первого файла все закончилось. Вообще программа может проверить, запускается она прямо из шелла или нет (например, если она в цепочке конвеера) - и так я пришла к мысли выключить ее интерактивность, запихав в безобдный конвеер ![]() Надеюсь, местные гуру шелла поднимут мои рассуждения на смех и объяснят истинную причину такого поведения программы. -------------------- You're face to face With man who sold the world |
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
если есть пробелы, то find должен знать + xargs тоже.
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
bilbobagginz, очень Вас прошу, приведите работающий пример для случая команды:
|
|||
|
||||
bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
arcsupport, уж больно замутился с переименовкой.
файнд находит. харгс запускает команды. у вас конвеер совсем по-другому построен. не рабочий пример:
не рабочий, т.к. потом надо будет делать цикл переименовки. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
arcsupport |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Буду на некоторое время считать это вопрос решенным.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |