7

В Emacs, как я могу искать в каталоге и во всех подкаталогах имя файла?

4 ответа4

2

В dired вы можете перечислить все подкаталоги посещенного каталога, перейдя к первой строке и нажав C-u l и добавив переключатель R Затем вы можете найти имя файла в буфере или пометить файлы на основе регулярного выражения с % m .

В Linux, Windows с утилитами Cygwin или других Unix-подобных системах с GNU find, быстрый и грязный хак - M-x grep-find , и отредактируйте командную строку, чтобы она содержала только часть find с подходящим форматом:

find -type f -name '*.foo' -printf '%p:0:\n'

В любой системе, в которой доступны инструменты Unix, вы можете запустить команду find с помощью M-! find . В буфере вывода вы можете использовать M-x ffap для посещения выбранного файла. Вы также можете настроить Dired-х , так что C-u C-x C-f может быть использован вместо M-x ffap

1

Вы можете открыть: */foo.bar для поиска любых файлов с именем foo.bar в прямом подкаталоге текущего или **/foo.bar для рекурсивного поиска любых файлов с именем foo.bar в подкаталогах текущего.

1

В emacs 23 попробуйте M-x find-dired

1

Вы можете использовать M-x find-name-dired . Будет запрошен каталог и шаблон подстановки, так что вы можете ввести что-то вроде *thing* и все файлы с именем "thing" будут перечислены в буфере с задержкой.

Подробнее здесь: http://emacswiki.org/emacs/RecursiveGrep (вместе с фрагментом, который позволяет также пропустить выписывание звезд).

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