Я искал репозиторий Git и хотел бы включить папку .git
.Как я могу скрыть скрытые файлы?
grep
не включает эту папку, если я бегу
grep -r search *
Что бы команда Grep включить эту папку?
Я искал репозиторий Git и хотел бы включить папку .git
.Как я могу скрыть скрытые файлы?
grep
не включает эту папку, если я бегу
grep -r search *
Что бы команда Grep включить эту папку?
Пожалуйста, обратитесь к решению в конце этого поста как лучшая альтернатива тому, что вы делаете.
Вы можете явно включать скрытые файлы (каталог также является файлом).
grep -r search * .*
*
будет соответствовать всем файлам, кроме скрытых из них и .*
будет соответствовать только скрытым файлам. Однако это не удастся, если в заданном каталоге нет либо не скрытых файлов, либо нет скрытых файлов. Конечно, вы можете явно добавить .git
вместо .*
.
Однако, если вы просто хотите найти в данном каталоге, сделать это следующим образом:
grep -r search .
.
будет соответствовать текущему пути, который будет включать в себя как не-скрытые и скрытые файлы.
Может быть, вы предпочитаете сочетать «Grep» с «найти» команды для комплексных решений как
find . -exec grep -Hn search {} \;
Эта команда будет искать внутри скрытые файлы или каталоги для строки «поиск» и список файлов с совпадением с этим формат вывода:
файла путь: номер строки: строка с совпадением
./foo/bar:42:search line
./foo/.bar:42:search line
./.foo/bar:42:search line
./.foo/.bar:42:search line
Вы можете захотеть использовать этот подход:
find ~ -name '*' | xargs grep search
или если вы просто хотите найти на верхнем уровне (что быстрее, чтобы проверить, если вы пытаетесь их выход):
find ~ -maxdepth 1 -name '*' | xargs grep search
Все остальные ответы лучше.Это можно было бы легко запомнить:
find . -type f | xargs grep search
находит только файлы (включая скрытые) и Grep каждый файл
Я просто столкнулся с этой проблемой, и на основе @ Bitmask отвечают, вот моя простая модификация избегаем проблемы указал @sehe:
grep -r search_string * .[^.]*
Я не получаю никаких результатов, используя это: 'sudo grep -r ANDROID_HOME *. [^.] *', что я делаю здесь неправильно? – messerbill
@messerbill где вы выполняете поиск? – insaner
Для поиска в только все скрытые файлы и каталоги из текущего местоположения:
find . -name ".*" -exec grep -rs search {} \;
только все скрытые файлы:
find . -name ".*" -type f -exec grep -s search {} \;
только все скрытые каталоги: (. GREP -r поиск * *)
find . -name ".*" -type d -exec grep -rs search {} \;
Первый подход работает для меня. Второй подход (grep -r search.) Не нашел строку. Я нашел аналогичные результаты при отсутствии «-r» и поиске только в каталоге верхнего уровня. Я использую GNU grep 2.6.3. – Alan
@ Алан: Это странно. Я использую это регулярно. Вы пробовали его в том же каталоге? – bitmask
Да, да. Кстати, результаты одинаковы, если я использую tcsh или bash. Это 64-разрядная система Debian 5, для чего это стоит. – Alan