Grep/sed/awk ソリューションは、2 つの検索キーワードの間の行を除外します。

Grep/sed/awk ソリューションは、2 つの検索キーワードの間の行を除外します。

ここで説明されているように、2つの検索パターン間の行を印刷する方法はいくつかあります。開始パターンと終了パターンの間の行を見つける方法は?

sed -n '/aaa/,/cdn/p' file
awk '/test1/,/test2/'

上記を無効にする必要があり、標準の Unix コマンド grep/sed/awk を使用して正しいコマンド/ソリューションを取得することは困難です。

grep -v単語に一致する行を除外しますが、2つの特定の正規表現の間のすべての行を除外するわけではありません。

どのようなヒントがありますか?

答え1

努力する

sed '/aaa/,/cdn/d' file

または

awk '/test1/,/test2/{next} {print}'

または(よりコンパクト)

awk '/test1/,/test2/{next} 1'

デフォルトでは、各レコード(行)を印刷します。〜しない限り一致する/test1/,/test2/場合は、次にジャンプします。記録。

関連情報