web-dev-qa-db-ja.com

Linux Grepコマンドの使用-テキストファイルへの出力、よりクリーンな出力が必要

Grepコマンドを使用して一連のファイルで検索文字列を検索する場合、結果をテキストファイルにダンプする方法はありますか?また、各エントリ間の改行など、読みやすくするためにクリーンな結果を提供するGrepコマンドのスイッチはありますか?おそらく、よりクリーンな結果を出力するGrepスクリプトがあります

ありがとう

58
user2398188
grep -n "YOUR SEARCH STRING" * > output-file

-nは行番号を出力し、>はgrep-resultsを出力ファイルにリダイレクトします。
結果を「クリーン」したい場合は、パイプ|を使用して結果をフィルタリングできます。例:
grep -n "test" * | grep -v "mytest" > output-fileは、文字列「mytest」に一致する行(つまり、スイッチ-v)を除くすべての行に一致します。
いくつかの優れたgrep-tipを見つけることができます この投稿で

84
alfasin

プログラム出力のリダイレクトは、シェルによって実行されます。

grep ... > output.txt

grepには、各一致の間に空白行を追加するメカニズムはありませんが、一致した行のコンテキストや一致自体の色付けなどのオプションを提供します。詳細については、grep(1) manページ、特に-Cおよび--colorオプションを参照してください。