我正在尝试编写一个正则表达式来捕获文件中的名称,其中某些行可能有 2 个或更多需要捕获的名称。
例如,我想获取一个文件:
Field_1 \t Field_2 \t Field_3 \t JGN;Name=hsa-123;J4N9;Name=cfa-241-b
Field_1 \t Field_2 \t Field_3 \t JPN;Name=hsa-1323;JJ39;Name=cfa-255-b;Name=hsa-188
并有一个输出文件返回:
Field_1 \t Field_2 \t Field_3 \t hsa-123; cfa-241-b
Field_1 \t Field_2 \t Field_3 \t hsa-1323;cfa-255-b;hsa-188
我正在使用正则表达式如下:
sed 's/\(.*\)\t\(.*\)\t\(.*\)\t.*\;Name=\(.*\);.*/\1\t\2\t\3\t\4\;\4/g'
但这只会返回名字。任何建议将不胜感激