私はスクリプト作成が初めてで、2 つの異なるパターンの間に存在するテキストを抽出する方法を学ぼうとしていました。ただし、次のシナリオで 2 つのパターン間でテキストを抽出する方法をまだ理解できていません。
入力ファイルを読んでいる場合:
Hi I would like
to print text
between these
patterns
私の予想される出力は次のようなものです:
I would like
to print text
between these
つまり、最初の検索パターンは「こんにちは」で、このパターンをスキップしますが、一致したパターンに続く同じ行に存在するすべてを出力します。2 番目の検索パターンは「パターン」であり、この行またはそれ以降の行を完全に出力しないようにしたいと考えています。それ。
私は次のことを試しました:
sed -n '/Hi/,/patterns/p' test.txt
[出力]
Hi I would like
to print text
between these
patterns
次に、私は試しました:
`awk ' /'"Hi"'/ {flag=1;next} /'"pattern"'/{flag=0} flag { print }'` test.txt
[出力]
to print text
between these
誰かがこれを達成する方法を特定するのを手伝ってくれますか? 前もって感謝します