Mac端末コマンド - 文字列の検索と周辺行の印刷

Mac端末コマンド - 文字列の検索と周辺行の印刷

私はack、sed、grepを使用して特定の文字列のディレクトリ内のファイルを検索しようとしました。パスワードがプレーンテキストでリストされていることを確認するためにデータベースファイルを調べています。これまで、次のコマンドを使用できました: grep -Ri "search_string" /path_to_Folder

ただし、これは対応する文字列を含むファイルのみを出力します。さらに一歩進んで、文字列の周りの行を印刷して各ファイルを検索する必要がないようにしたいと思います。

これが意味があることを願っています。とても感謝しています。

答え1

私が正しく理解したなら、

文字列の周りの行を印刷します。

-C次のようにgrepの(コンテキスト)オプションを使用できます。

grep -aRi -C 1 "search_string" /path_to_Folder

各一致に対して、3行(一致前行、一致行、一致後行)を印刷します。

データベースファイルはバイナリなので、ファイルをテキストとして扱うには、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

関連情報