En grepvous pouvez utiliser --group-separatorpour écrire quelque chose entre les deux matches de groupe.
Cela est pratique pour clarifier les blocs que nous avons, en particulier lorsque vous utilisez l' -C Xoption pour obtenir des lignes de contexte.
$ 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
J'ai appris en utilisant la ligne vide comme contexte "séparateur de groupe" pour grep comment avoir juste une ligne vide, en disant --group-separator="".
Mais que faire si je veux avoir deux lignes vides? J'ai essayé de dire --group-separator="\n\n"mais j'obtiens littéralement \n:
$ grep -C1 --group-separator="\n\n" 'hello' a
hello
this is me
\n\n
something else
hello hello
bye
D'autres choses comme ça --group-separator="\nhello\n"n'ont pas fonctionné non plus.
printfouecho. Dans votre cas,grep -C1 --group-separator=$'hello\nfedorqui' 'hello' ac'est équivalent.