删除 grep -A 中的破折号

删除 grep -A 中的破折号

我正在使用grep -A命令来获取特定模式。它--在每个块的末尾给出,我如何删除这些破折号?

答案1

据我所知,手册页中没有提到,但在上下文行控制info grep将找到选项

‘--no-group-separator’
     When ‘-A’, ‘-B’ or ‘-C’ are in use, do not print a separator
     between groups of lines.

答案2

你有至少三种选择

  1. 使用-v选项(适用于任何版本的 grep):

    ... | grep -A1 "pattern" | grep -v -- "^--$"
    

    还,| sed '/^--$/d'

  2. 在没有证件的情况下--group-separator

    ... | grep -A1 "pattern" --group-separator "" 
    
  3. --no-group-separator如上所述钢铁司机)。

    ... | grep -A1 "pattern" --no-group-separator
    

相关内容