Grep
Mac 終端命令 - 查找字元串並使用周圍行列印
我一直在使用 ack、sed、grep 進行測試,試圖搜尋目錄中的文件以查找特定字元串。我正在查看我的數據庫文件以檢查密碼是否以明文形式列出。到目前為止,我已經能夠使用這個命令: grep -Ri “search_string” /path_to_Folder
但是,這只會輸出包含該字元串的文件。我想更進一步並列印出字元串周圍的行,這樣我就不必進入並蒐索每個文件。
我希望這是有道理的。非常感謝。
如果我對您的理解正確,請:
列印出字元串周圍的線
您可以使用 grep 的
-C
(context) 選項,如下所示:grep -aRi -C 1 "search_string" /path_to_Folder
它將為每個匹配列印三行:匹配前的行、匹配的行和匹配後的行。
由於數據庫文件是二進製文件,我們還需要 grep 的 -a 標誌,以便它將文件視為文本。
樣品執行:
$ grep -aRi jeff * a/b/c/i:jeff a/b/i:jeff a/i:jeff i:jeff
對比
$ grep -aRi -C1 jeff * a/b/c/i-hi a/b/c/i:jeff a/b/c/i-bye -- a/b/i-hi a/b/i:jeff a/b/i-bye -- a/i-hi a/i:jeff a/i-bye -- i-hi i:jeff i-bye