In können grepSie verwenden --group-separator, um etwas zwischen Gruppenspielen zu schreiben.
Dies ist praktisch, um zu verdeutlichen, welche Blöcke wir haben, insbesondere wenn Sie die -C XOption zum Abrufen von Kontextzeilen verwenden.
$ 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
Ich habe in Verwenden einer leeren Zeile als Kontext "Gruppentrennzeichen" für grep gelernt, wie man nur eine leere Zeile hat, indem ich sagte --group-separator="".
Was ist jedoch, wenn ich zwei leere Zeilen haben möchte? Ich habe versucht zu sagen, --group-separator="\n\n"aber ich bekomme wörtliche \ns:
$ grep -C1 --group-separator="\n\n" 'hello' a
hello
this is me
\n\n
something else
hello hello
bye
Andere Dinge wie haben --group-separator="\nhello\n"auch nicht funktioniert.
printfoder zu verwendenecho. In Ihrem Fallgrep -C1 --group-separator=$'hello\nfedorqui' 'hello' aist gleichwertig.