Как сообщить имена файлов, найденные в строках после прохождения через grep?

Я был около *nix достаточно долго, чтобы помнить, что делал это в прошлом, и теперь эти нейронные пути исчезли... Я ищу / usr / local / lib файлы, которые содержат img_convert, потому что я получаю ссылку ошибка и хотите найти библиотеку для включения, которая содержит эту ссылку.

Эта команда находит ссылку, но не печатает содержащие имена файлов:

$ strings /usr/local/lib/* | grep 'img_convert'
img_convert
img_convert

Конечно, я мог бы написать это, но я уверен, что есть способ сделать это из командной строки... поэтому любая помощь приветствуется!

2 ответа

Решение

Пытаться

strings --print-file-name /usr/local/lib/* | grep 'img_convert'

Обратите внимание, что это будет работать с GNU strings, но не обязательно с другими версиями.

Grep с удовольствием читает двоичные файлы и ищет саму строку, так

grep -l img_convert /usr/local/lib/* 

должен делать то, что вы хотите.

Другие вопросы по тегам