Bash: Как в find запихнуть условие на результат?

программирование unix bash

find ./ -depth -type d -exec <<сюда_условие_на_вывод>> \;
что-то перелопатил гугл, а ничего толком не нашел

Примечание:
Евгений, суть была в том, чтобы обработать результат по условию.
Решил вопрос следующим образом:
find ./ -follow -iname "$file" | while read film; do vlc -f "$film" vlc://quit && exit 0; done

но как завершить скрипт при запуске vlc? Он же параллельно запускается?

Примечание:
>Что ты делал в
>vlc -f "$film" vlc://quit && exit 0
>если честно вообще не понятно.

Не-не, надо только первое вхождение проиграть. exit 0 завершает оболочку. Но и параллельно процесс поиска продолжается, судя по притормаживанию (много поддиректорий)
Ответы:
Все условия перечисляются перед -exec, объединяясь с помощью -and и -or (-a и -o, есть разница). Или просто условия подряд, по умолчанию считается -and.
> do vlc -f "$film" vlc://quit && exit 0; done
Работать не будет как задумывалось. Exit завершит оболочку и скрипт оборвётся после первой отработки программы. и к тому же ещё разлогинит. Для выхода из цикла, если нужно используй break или continue.
Я так понимаю, из примечания №2, что никаких условий нет, просто проигрывается первый же найденный файл?
В этом случае можно сделать так
find ./ -follow -iname "$file" | sed -rn '1 s/(^.*)/vlc \1/e'


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.