В 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=""
.
Однако что, если я хочу иметь две пустые строки? Я пытался сказать, --group-separator="\n\n"
но я получаю буквальное \n
с:
$ 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
это эквивалентно.