Ubuntu-10.04
如何查找可能存在於整個文件系統中某個未知文件中的文本字元串
我遇到了一個問題,我在某個文件中有一行“某事”。我忘記的這一行在哪個文件中。在整個根文件系統中,我想找出哪個文件以及這一行在哪裡。那麼我該怎麼做呢。我使用過 find 但是當我使用 find 時,我知道文件名,在這種情況下我也不知道文件名。這是一個 Ubuntu 伺服器 10.04 那麼我該怎麼做才能找出哪個文件有這個字元串。
我總是使用:
find / -xdev | xargs grep "string"
這將為您提供所有匹配字元串的列表以及它們所在的實際文件。
一個簡單的蠻力解決方案是:
find / -type f -exec grep -H 'some string' {} \;
(gnu grep 的 -H 選項會導致它返回文件名)。
但是,您可能會從加快編寫更智能的腳本中受益,該腳本會忽略二進製文件、執行檔(非腳本)等內容。