Як АБО булева команда знаходження?


1

Як сказати команді find, щоб знайти рядок АБО b?

Як: знайти. -тип f -iname "aaa" АБО "bbb"

Якісь ідеї?

Відповіді:


1

Форт ці два імені ви можете використовувати:
find . -type f \( -iname 'aaa' -o -iname 'bbb' \) -print.

Не те, що 'навколо імен вам не знадобляться, якщо ви просто шукаєте aaa або bbb, але вони вам потрібні, якщо ви використовуєте макіяж і не хочете, щоб оболонка розширювала їх.

Приклад із символами підстановки:
find . \( -name '*.jpg' -o -name '*.gif' \) -print


У чому сенс -print? Хіба це не те, що просто пропустити це?
janos

У багатьох випадках: так. Однак лише тому, що це за замовчуванням для більшості програм пошуку, це означає, що опущення його буде працювати всюди або що він буде працювати в майбутньому. Таким чином, є доброю звичкою чітко заявляти варіант. (Так само, як і крапка в першій команді OP, яку ви можете опустити за замовчуванням у багатьох, але не у всіх реалізаціях пошуку).
Геннес

.це, безумовно, добре мати, питань щодо цього немає (для UNIX + BSD). Де ви бачили, findщо без нього не друкується -print?
janos

Я думаю, що HP-UX findвимагає -print, але я більше не маю доступу до системи HP-UX для перевірки.
garyjohn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.