複数のパターンを把握して同じ行に印刷するにはどうすればよいですか?

複数のパターンを把握して同じ行に印刷するにはどうすればよいですか?

複数のファイルがあり、すべて同じデータパターンに従います。

これが私が抽出したいパターンであるとしましょう。

First part of text...patternA......Second part of text.....patternB.....Third part of text....patternC.....End part of text

現在私はこれを使用しています:

grep -P -o ".{0,5}patternA|.{0,5}patternB.{0,5}|patternC.{0,5}" filename.txt

私が得た結果は次のとおりです。

1111 patternA
2222 patternB 2222
patternC 3333

私が本当に望む結果は次のとおりです。

1111 patternA 2222 patternB 2222 patternC 3333

各パターンの末尾にある改行文字を削除する方法がわからないようです。

どうすればいいですか?

ベストアンサー1

3つのフィールドがすべて常に存在することがわかっている場合は、「貼り付け」を使用して次のことを試すことができます。

grep -P -o ".{0,5}patternA|.{0,5}patternB.{0,5}|patternC.{0,5}" filename.txt | paste - - -

おすすめ記事