En grepella puedes usar --group-separatorpara escribir algo en el medio partidos de grupo.
Esto es útil para dejar en claro qué bloques tenemos, especialmente cuando usamos la -C Xopción para obtener líneas de contexto.
$ 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
Aprendí en Usar línea vacía como contexto "separador de grupos" para grep cómo tener una línea vacía, diciendo --group-separator="".
Sin embargo, ¿qué pasa si quiero tener dos líneas vacías? Traté de decir --group-separator="\n\n"pero obtengo \ns literal :
$ grep -C1 --group-separator="\n\n" 'hello' a
hello
this is me
\n\n
something else
hello hello
bye
Otras cosas como --group-separator="\nhello\n"tampoco funcionaron.

printfoecho. En tu caso,grep -C1 --group-separator=$'hello\nfedorqui' 'hello' aes equivalente.$''suyo, sería la mejor manera de hacerlo!$'$var'(¡incapaz de expandir / imprimir el valor de la variable si se establece entre comillas simples!) ¿verdad? mientras que"$(echo $var)"puede funcionar.$'"$var"'. Eso es$'+"$var"+'.