In grep
puoi usare --group-separator
per scrivere qualcosa tra le partite di gruppo.
Questo è utile per chiarire quali blocchi abbiamo, soprattutto quando si utilizza l' -C X
opzione per ottenere le linee di contesto.
$ 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
Ho imparato in Usare la linea vuota come "separatore di gruppi" di contesto per grep come avere una linea vuota, dicendo --group-separator=""
.
Tuttavia, se volessi avere due righe vuote? Ho provato a dire --group-separator="\n\n"
ma ottengo letteralmente \n
s:
$ grep -C1 --group-separator="\n\n" 'hello' a
hello
this is me
\n\n
something else
hello hello
bye
Anche altre cose come --group-separator="\nhello\n"
non hanno funzionato.
printf
oecho
. Nel tuo caso,grep -C1 --group-separator=$'hello\nfedorqui' 'hello' a
è equivalente.