grepについて質問があります。複数行のテキスト内で特定のパターンを探しています。多くの場合、同じ行に複数の一致があります。パターンを抽出する方法を考え出しましたが、grep は各一致を新しい行に配置します。grep がこれを行うのを止める方法はありますか? 理想的には、すべての一致を抽出し、元のファイルの行構造を保持したいと考えています。
次に例を示します。
1 つの入力行 (何千もの行があります):
MUC3A|ENST00000414964[in] MUC3A|ENST00000422757[in] MUC3A|ENST00000319509[in] MUC3A|ENST00000483133[in] RP11-395B7.2.1|ENST00000420080[me] RP11-395B7.2.1|ENST00000438198[me] RP11-395B7.2.1|ENST00000434775[5g] MUC12|ENST00000536621[5g] MUC12|ENST00000379442[5g] MUC3A|ENST00000480291[5g]
私のgrepコマンド:
grep -oe MUC12[\|A-Za-z0-9-]*\[[A-Za-z0-9]*\]
私の現在の出力:
MUC12|ENST00000536621[5g]
MUC12|ENST00000379442[5g]
私の理想的な出力:
MUC12|ENST00000536621[5g] MUC12|ENST00000379442[5g]
何か案は?誰かが提供できる洞察に非常に感謝しています。