Удаление тире в grep-A

Я использую grep -A команда для получения определенного шаблона. Это дает -- в конце каждого блока, как я могу удалить этих тире?

1
задан 15 March 2019 в 18:07

2 ответа

AFAIK это не упоминается в странице справочника, но в разделе Context Line Control info grep Вы найдете опцию

‘--no-group-separator’
     When ‘-A’, ‘-B’ or ‘-C’ are in use, do not print a separator
     between groups of lines.
3
ответ дан 3 December 2019 в 07:21

У вас есть минимум три альтернативы:

  1. С опцией -v (работает на любой версии grep):

    ... | grep -A1 "шаблон" | grep -v -- "^--$"
    

    Также, | sed '/^--$/d'.

  2. С недокументированным --group-separator

    ... | grep -A1 "шаблон" --group-separator ""
    
  3. С --без-разделителя-группы (, как упоминалось стальной драйвер).

    ... | grep -A1 "шаблон" --без разделителя групп
    
2
ответ дан 7 August 2020 в 03:05

Другие вопросы по тегам:

Похожие вопросы: