Відповіді:
Ось команда, яку ви можете використовувати:
find -type f -or -type d
. I get an error..
find: шляхи повинні передувати виразу: `.. Будь-яка ідея чому?
-
раніше or
?
тл: д-р
використання find . -name "*string*" -type f -o -name "*string*" -type d
пояснення
команда -o or
аргументи після файлового тракту повністю, такі, що find . -name "*string*" -type f -o -type d
обчислює find . (-name "*string*" -type f) -o (-type d)
. З цієї причини потрібно вказати
Більшість користувачів захочуть щось подібне
find . -name "*string*" -type f -o -name "*string*" -type d
який обчислює як
find . (-name "*string*" -type f) -o (-name "*string*" -type d)
знайти деталі синтаксису
-name "*string*"
шукає імена, які містять рядок в string
будь-якому місці.
Якщо ви використовуєте GNU find, тоді вам може підійти таке рішення:
find -type d,f
Докладніше man find
:
Для пошуку відразу декількох типів можна надати комбінований список букв типів, розділених комою
,
(розширення GNU).
GNU find
версії 4.7.0 .. Схоже, це не підтримує ,
. У повідомленні про помилку сказаноfind: Arguments to -type should contain only one letter.
find -type f -o -type d
для сумісної з POSIX альтернативи.