98

Grep コマンドを使用して一連のファイルから検索文字列を検索する場合、結果をテキスト ファイルにダンプするにはどうすればよいですか?

また、各エントリ間のライン フィードや、ファイル名と検索結果を正当化する方法など、読みやすくするためにクリーンな結果を提供する Grep コマンドのスイッチはありますか?

たとえば、アウェイ トゥ チェンジ...

./file/path: first result
./another/file/path: second result
./a/third/file/path/here: third result

./file/path: first result

./another/file/path: second result

./a/third/file/path/here: third result
4

3 に答える 3

128
grep -n "YOUR SEARCH STRING" * > output-file

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

于 2013-05-19T04:34:40.327 に答える
40

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

grep ... > output.txt

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

于 2013-05-19T04:32:04.450 に答える