小编pro*_*ins的帖子

使用 gensub 并不能取代匹配项

我有一个制表符分隔的文件,第一列包含如下条目:

sp|O00253|AGRP_HUMAN
Run Code Online (Sandbox Code Playgroud)

我试图用来awk输出一个新文件,该文件仅包含|第 1 列中 s 之间的文本以及其余列中未更改的其余文本。

正则表达式

/\w{2}\|(\w+)\|\w+/
Run Code Online (Sandbox Code Playgroud)

O00253与捕获组中所需的文本 () 匹配$1,但我无法awk使用gensub.

我已经围绕下面的行尝试了多次迭代,但一切都只返回未更改的捕获组。

awk 'gensub(/\w{2}\|(\w+)\|\w+/,"\\1","g",$1) {print}'

awk '{print gensub(/\w{2}\|(\w+)\|\w+/,"\\1","g",$0)}'
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

awk

3
推荐指数
1
解决办法
2304
查看次数

标签 统计

awk ×1