コンテキスト行で grep を使用するときに、「--」行区切り文字を削除するにはどうすればよいですか? 質問する

コンテキスト行で grep を使用するときに、「--」行区切り文字を削除するにはどうすればよいですか? 質問する

という名前のテキスト ファイルがありcompare.txt、パターンを含む各行に続く 1 行を抽出したいと考えていますnmse_gain_constant。次のコマンドでほぼ実行できます。

grep -A 1 nmse_gain_constant compare.txt | grep -v nmse_gain_constant

しかし、これには必要なテキストの各行の間に区切り線が含まれます。この線--を取り除く簡単な方法はありますか?--

例: 次のような入力ファイルの場合

line
line
nmse_gain_constant matching line
line after first match
line
line
nmse_gain_constant another matching line
line after second match
line
nmse_gain_constant a third matching line
line after third match

出力は

line after first match
--
line after second match
--
line after third match

しかし、私はただ

line after first match
line after second match
line after third match

ベストアンサー1

私はこれをします:

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

しかし、これも機能します (すべての OS ではなく、多くの OS で)。

grep --no-group-separator ...

そして、「--」や空白行も出力されません。

おすすめ記事