Как использовать дерево для отображения пути к именам файлов, содержащих определенную строку?

У меня есть довольно большая файловая система, и, допустим, я хочу найти все файлы и каталоги в определенной области моей файловой системы, которые содержат String ActionListeener, и для этого я хочу использовать [ f6]. Итак, если я это сделаю:

tree ~/ | grep ActionListeener

Результат будет:

│   │   │           └── ActionListeener.class
│   │           └── ActionListeener.java

Итак, теперь я знаю, что эти файлы существуют где-то немного глубже в моей файловой системе, но я не знаю, какая папка содержит подпапку, которая содержит под-папку и т. д. к файлам.

Так что действительно мой вопрос: как я могу получить команду tree ( возможно, вывести вывод на что-то еще), чтобы показать мне папку и путь, который приводит меня к тем конкретным файлам, которые содержат эту строку.

Информация о ОС:

[ f3]

Информация о пакете:

tree:
  Installed: 1.7.0-3
  Candidate: 1.7.0-3
  Version table:
 *** 1.7.0-3 0
        500 http://gb.archive.ubuntu.com/ubuntu/ vivid/universe amd64 Packages
        100 /var/lib/dpkg/status
1
задан 23 May 2015 в 19:37

1 ответ

Используйте параметр -f дерева. Из man tree:

-f Печатает полный префикс пути для каждого файла.

Таким образом, ваша команда будет:

tree -f ~/ | grep 'ActionListeener'

Обратите внимание, что это будет соответствовать ActionListeener в любом месте строки, так что будьте точны при выборе, в какой каталог вы будете запускать это. [ ! d4]

1
ответ дан 23 May 2018 в 20:19

Другие вопросы по тегам:

Похожие вопросы: