Найти как обычные файлы и каталоги


9

Как я могу сказать (если я могу сказать!) Найти, чтобы найти файлы как каталога, так и типа файла?

find -type fd

Это как эвристический темный возраст здесь.

Ответы:


12

Вот команда, которую вы можете использовать:

find -type f -or -type d

7
Или find -type f -o -type dдля POSIX-совместимой альтернативы.
manatwork

Эй, у меня возникли небольшие проблемы с этим, когда я запустил $ find. -type d -or -type f -and -iname "видение", оно не выполняет то, что я ожидаю, я что-то упускаю!
MageProspero

2
-a имеет приоритет над -o, используйте круглые скобки (но избегайте их для оболочки). Не нужно использовать нестандартные -or или -and.
Стефан Шазелас

если я попытаюсь найти. -type d или -type f -name 'abc' . I get an error.. find: пути должны предшествовать выражению: `.. Есть идеи почему?
alpha_989

1
@ alpha_989 -раньше не было or?
Матеуш Пиотровский

2

ТЛ: др

использование 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где-либо в них.


1

Если вы используете GNU find, то вам может подойти следующее решение:

find -type d,f

Смотрите man findдля более подробной информации:

Для поиска более одного типа одновременно вы можете предоставить комбинированный список букв типов, разделенных запятой ,(расширение GNU).


2
Использование GNU findверсии 4.7.0. Кажется, он не поддерживает ,. Сообщение об ошибке говорит, чтоfind: Arguments to -type should contain only one letter.
alpha_989
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.