では、グループマッチの間に何かを書くgrepために使用できます--group-separator。
これは、特に-C Xコンテキスト行を取得するオプションを使用する場合に、どのブロックがあるかを明確にするのに便利です。
$ cat a
hello
this is me
and this is
something else
hello hello
bye
i am done
$ grep -C1 --group-separator="+++++++++" 'hello' a
hello
this is me
+++++++++
something else
hello hello
bye
空行をgrepのコンテキスト「グループセパレーター」として使用する方法で、空行を作成する方法を学びました--group-separator=""。
ただし、2つの空の行が必要な場合はどうなりますか?私は言っ--group-separator="\n\n"てみましたが、リテラル\ns を取得します:
$ grep -C1 --group-separator="\n\n" 'hello' a
hello
this is me
\n\n
something else
hello hello
bye
他のようなものも機能--group-separator="\nhello\n"しませんでした。
printfまたはを使用する必要はないと思いますecho。あなたの場合、grep -C1 --group-separator=$'hello\nfedorqui' 'hello' a同等です。