2

Я пытаюсь найти файл в каталоге, в котором известны как имя файла, так и имя каталога. Например, скажем, я хочу найти

" ...don't know this part of file path stem).../dirname/filename.extension "

У меня такое чувство, что я ищу что-то вроде этого:

find / -type d -name "dirname" | xargs find * -type f -name "filename.extension"

Но я не могу найти правильную комбинацию. Какой правильный способ сделать это?

2 ответа2

1

Может быть, вы ищете опцию -path :

find / -path "*/dirname/filename.extension"

Проблема в вашей команде - джокер * после трубы | расширяется до списка файлов в текущем каталоге, поэтому команда find будет искать внутри них. Другим способом было бы использование опции -exec , {} будет заменено на то, что находит первая находка (но, почему все так?):

find / -type d -name "dirname" -exec find {} -type f -name "filename.extension" \;
0

Используйте -wholename вместо -name . Это позволит вам искать полный путь.

find / -wholename "*directory/filename" -print

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .