我有一个制表符分隔的文件,第一列包含如下条目:
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 ×1