В оболочке bash ls
можно использовать функциональность логического ИЛИ через (конечно, я мог бы также сделать, ls name1 name2
но мои истинные примеры более сложные):
ls @(name1|name2)
Есть ли способ сделать это с помощью find
?
Моя наивная реализация:
find . -maxdepth 1 -name @("name1"|"name2")
не работает (просто ничего не выводит)
OPERATORS
раздел руководстваfind
?Ответы:
Вы можете использовать
-o
для логическогоOR
. Однакоfind
помните, что все предикаты имеют логические значения, поэтому вам, как правило, нужно группироватьOR
объекты вместе с паренами. А так как у паренов есть значение для оболочки, вам также нужно избегать их:источник
Чтобы ответить на ваш вопрос, вы можете использовать
-o
опцию:нравится:
источник