Grep

通過 grep 管道後如何報告通過字元串找到的文件名?

  • May 5, 2014

我已經在 nix 附近呆了足夠長的時間來記得過去曾這樣做過,現在那些神經通路已經消失了……我正在 /usr/local/lib 中搜尋包含img_convert*的文件,因為我得到了一個連結錯誤並希望找到包含該引用的庫。

此命令查找引用,但不列印包含的文件名:

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

當然,我可以編寫腳本,但是我確信有一種方法可以從命令行執行此操作……所以任何幫助表示讚賞!

嘗試

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

請注意,這將適用於 GNU strings,但不一定適用於其他版本。

Grep 很樂意讀取二進製文件並蒐索字元串本身,所以

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

應該做你想做的。

引用自:https://serverfault.com/questions/593227