使用awk解析包含逗号的制表符分隔文件

Ank*_*kit 1 linux bash awk gawk

我想使用awk删除以下输入文件的第二个字段中":"之后的所有值.

输入

text1   [a:2,b:1,c:4,k:0]
text2   [d:1,a:5,f:3.2]
Run Code Online (Sandbox Code Playgroud)

产量

text1   a,b,c,k
text2   d,a,f
Run Code Online (Sandbox Code Playgroud)

我能够使用R来做到这一点但是对于较大的文件来说这有点慢.

jay*_*ngh 7

使用sed(假设你也想删除括号):

$ sed 's/\[\|:[^,]*//g' file
text1   a,b,c,k
text2   d,a,f
Run Code Online (Sandbox Code Playgroud)

使用awk:

$ awk '{gsub(/\[|:[^,]*/,"")}1' file
text1   a,b,c,k
text2   d,a,f
Run Code Online (Sandbox Code Playgroud)