Відповіді:
Ось команда, яку ви можете використовувати:
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 альтернативи.