Как найти файл по содержимому в Linux?
команда
1 2 3 |
find /dir/to/search/ -name "pattern" -print | xargs grep "some_string" |
поможет вам.
Пример. У программы есть куча конфигов и предыдущий программист изменил содержимое одного из ста конфигов. Вы не знаете в каком конфиге, но знаете измененное значение.
Нижняя команда ищет в всех конфигах Астериска содержимое «content»
1 2 3 |
find /etc/asterisk/ -name "*.conf" -print | xargs grep "content" |
1 2 3 4 |
find /etc/asterisk/ -name "*.conf" -print Печатает абсолютные пути файлов |
1 2 3 4 5 6 |
xargs grep "content" Передает абсолютные пути команде grep тоже самое что grep "content" /etc/asterisk/someconfig.conf и далее в цикле |