2017-08-10 11 views
0

ここでは、grepコマンドを実践しています。次のgrep条件では明確ではありませんか?Grep条件一致はどのように機能しますか?

a_file:

boot 
record 
boots 
process 
broken 
commands 

私は、以下のコマンドを試してみました: -

1. grep -A0 "boo" a_file 

result: 
boot 
-- 
boots 

2.grep -A1 "boo" a_file 
result: 
boot 
record 
boots 
process 

3.grep -A2 "boo" a_file 
result: 
boot 
record 
boots 
process 
broken 

4.grep -A3 "boo" a_file 
result: 
boot 
record 
boots 
process 
broken 
commands 

Note:I had studied this grep command from terminal man grep. 

マイクエリ:

1.What is the purpose of switch -A? 
2.How the context lines are ordered for every numeric values (i.e 1,2,3)? 
+0

2番目の質問は何を理解しようとしていますか? 'grep -A'はどのようにその仕事を実装していますか? – CWLiu

+0

Aは一致した文脈を示します。私がA2を与えると、それは検索文字列(つまりブー)を探します。A2のために一致する行の後、一致する文字列の次の2行を出力します。 @CWLiu – PathFinder

+0

はい、あなたの理解は基本的に正しいです、そして、あなたの第二の質問は何ですか、精巧にしてください。それはあなたのより正確な答えを提供するためにここに人を助けるだろう。 – CWLiu

答えて

0

あなたの最初の質問については、-Aまたは-Bは本当に便利しばらくですあなたは長くて複雑なログをダビングします。 -A-Bオプションを使用すると、ログ内の検索されたパターンの前後に詳細が表示され、デバッグ効率が向上します。

grepの2番目の質問では、オプション-Aには特に制限はありません。それの議論、すなわち、 out_afterは、srcにlong intと定義されています。

static intmax_t out_after; /* Lines of trailing context. */ 

IはEOFまたは次の一致したパターンがヒットされるまで、後続のラインは(後続ラインのカウントがリセットされる)印刷されると仮定する。

関連する問題