次の例を検討してください。
$ echo -e "-wordA \n 1\n 2\n 3\n-wordB \n 1\n 2\n 3\n" | grep -n -A1 -e '^-wordA' -A2 -e '^-wordB'
1:-wordA
2- 1
3- 2
--
5:-wordB
6- 1
7- 2
上記でやりたかったことは-wordA
、行頭で一致する場合は「コンテキストの後」を 1 行、一致する場合はコンテキストの後を 2 行にすること-wordB
です。明らかに、私の試みはうまくいきません。両方のマッチで、2 行のアフター コンテキストが得られるからです。
どうやら、after context の最後の設定がすべての検索の設定になります。しかし、私は確認したかっただけです-grep
個々のコンテキストでそのような「複合」検索に使用することはまったく可能ですか? (編集:特に、の単一インスタンスを呼び出して使用することを意味し、grep
一時ファイルを回避する可能性があります)
ご回答ありがとうございます。
乾杯!