我有一个关于 grep 的问题。我正在寻找多行文本中的特定模式。同一行通常有多个匹配项。我已经弄清楚如何提取我的模式,但是 grep 将每个匹配项放在一个新行上。有什么办法可以阻止 grep 这样做吗?理想情况下,我希望提取所有匹配项并保留原始文件的行结构。
这是一个例子:
一个输入行(其中有数千行):
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]
有任何想法吗?我将非常感谢任何人可以提供的任何见解。