Как я могу найти файл по его содержимому в Linux?

14

Как найти файл по его содержимому в Linux в командной строке?

Например, я хочу найти файл, содержащий слово «helo» на моем компьютере.

багор
источник

Ответы:

24

Использование:

grep -lir "helo" /path/to/dir
кванты
источник
3

Вы можете создать файл с именем grepall в / usr / local / bin / со следующим содержимым:

find -type f -exec grep -q $1 {} \; -print

тогда вы можете искать контент по использованию grepall something

kockiren
источник
1
Это много печатать, когда вы можете просто grep -r
Мэтт H
С помощью команды find вы можете выполнять рекурсивную grep через каталоги и grep во всех файлах.
Kockiren
1

Злой путь: grep "something" */*/*

Корявин Иван
источник
0

Если вы администратор или программист, вы можете рассмотреть ripgrep вместо обычного grep.

rg helo например, ищет все файлы в текущем рабочем каталоге (включая подпапки).

Для получения более подробной информации обратитесь к руководству , справочной странице или даже коду.

MBX
источник