では、グループマッチの間に何かを書く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"
てみましたが、リテラル\n
s を取得します:
$ 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
同等です。