Ubuntu-10.04

如何查找可能存在於整個文件系統中某個未知文件中的文本字元串

  • July 24, 2011

我遇到了一個問題,我在某個文件中有一行“某事”。我忘記的這一行在哪個文件中。在整個根文件系統中,我想找出哪個文件以及這一行在哪裡。那麼我該怎麼做呢。我使用過 find 但是當我使用 find 時,我知道文件名,在這種情況下我也不知道文件名。這是一個 Ubuntu 伺服器 10.04 那麼我該怎麼做才能找出哪個文件有這個字元串。

我總是使用:

find / -xdev | xargs grep "string"

這將為您提供所有匹配字元串的列表以及它們所在的實際文件。

一個簡單的蠻力解決方案是:

find / -type f -exec grep -H 'some string' {} \;

(gnu grep 的 -H 選項會導致它返回文件名)。

但是,您可能會從加快編寫更智能的腳本中受益,該腳本會忽略二進製文件、執行檔(非腳本)等內容。

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