Я ищу в репозитории Git и хочу включить .git
папку.
grep
не включает эту папку, если я запускаю
grep -r search *
Какой командой grep можно было бы включить эту папку?
источник
Я ищу в репозитории Git и хочу включить .git
папку.
grep
не включает эту папку, если я запускаю
grep -r search *
Какой командой grep можно было бы включить эту папку?
Пожалуйста, обратитесь к решению в конце этого сообщения как к лучшей альтернативе тому, что вы делаете.
Вы можете явно включать скрытые файлы (каталог также является файлом).
grep -r search * .*
*
Будет соответствовать всем файлам , кроме скрытых из них и .*
будет соответствовать только скрытым файлам. Однако это не удастся, если в данном каталоге нет не скрытых файлов или нет скрытых файлов. Вы, конечно, можете явно добавить .git
вместо .*
.
Однако, если вы просто хотите выполнить поиск в заданном каталоге, сделайте это так:
grep -r search .
.
Будет соответствовать текущему пути, который будет включать в себя как без скрытых и скрытых файлов.
.*
будет включать родительский каталог (поскольку..
совпадения)Я только что столкнулся с этой проблемой и, основываясь на ответе @ bitmask, вот моя простая модификация, чтобы избежать проблемы, указанной @sehe:
источник
sudo grep -r ANDROID_HOME * .[^.]*
что я здесь делаю не так?Возможно, вы предпочтете объединить «grep» с командой «find» для получения полного решения, например:
Эта команда будет искать внутри скрытых файлов или каталогов строку "search" и перечислять любые файлы, совпадающие с этим выходным форматом:
Путь к файлу: Номер строки: строка с совпадением
источник
Вы можете использовать этот подход, предполагая, что вы ищете текущий каталог (в противном случае замените. На желаемый каталог):
или если вы просто хотите выполнить поиск на верхнем уровне (что быстрее проверить, если вы пробуете это):
ОБНОВЛЕНИЕ: я изменил примеры в ответ на комментарии Скотта. Я также добавил "-тип f".
источник
~
- это домашний каталог пользователя. Вопрос не касался домашнего каталога пользователя, поэтому в ответе упоминать не стоит~
. (2) Вfind
команде-name '*'
не используется (т. Е. Бесполезно).Для поиска ТОЛЬКО во всех скрытых файлах и каталогах из вашего текущего местоположения:
ТОЛЬКО все скрытые файлы:
ТОЛЬКО все скрытые каталоги:
источник
Все остальные ответы лучше. Это легко запомнить:
Он находит только файлы (включая скрытые) и ищет каждый файл.
источник
Чтобы найти только в определенной папке, вы можете использовать:
Это очень простая команда для вывода списка и передачи по конвейеру grep.
источник
В дополнение к предложению Тайлера, вот команда для рекурсивного поиска всех файлов и папок, включая скрытые файлы.
источник
Для предотвращения согласования
.
и..
которые не скрытые файлы, вы можете использоватьgrep
сls -A
как в этом примере:^\.
заявляет, что первый символ должен быть.
Параметр
-A
или--almost-all
исключает результаты.
и..
так , что только скрытые файлы и каталоги совпадают.источник
Вы также можете искать определенные типы скрытых файлов, например, файлы скрытых каталогов:
Это может сработать лучше, чем некоторые другие варианты. Другие сработавшие варианты могут быть слишком медленными.
источник