Grep

Mac 終端命令 - 查找字元串並使用周圍行列印

  • February 27, 2017

我一直在使用 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

引用自:https://unix.stackexchange.com/questions/347611