使用 awk 拆分列

Ron*_*icK 5 awk

嗨,我尝试使用awk命令拆分列,其中我必须使用两个单独的字符来拆分同一列“逗号和冒号”

如果我的输入文件是这样的

 0/1:121,313:4:99:123,0,104
Run Code Online (Sandbox Code Playgroud)

我用过:分割列

echo "0/1:121,313:4:99:123,0,104" | awk '{split($0,a,":"); print a[2] a[3]}
Run Code Online (Sandbox Code Playgroud)

我得到这个输出

121,3134
Run Code Online (Sandbox Code Playgroud)

但是我只需要这个输出

121313
Run Code Online (Sandbox Code Playgroud)

如何使用 : 和 , (冒号和逗号)分开

而且我不想使用awk -F命令,因为这是我正在处理的较大的制表符分隔文本文件的一部分。

Kus*_*nda 11

awk -F '[,:]' '{ print $2 $3 }' file
Run Code Online (Sandbox Code Playgroud)

通过将字段分隔符(通过-F)设置为“任一,:”,我们可以避免split()对数据进行显式操作。

或者,

awk -F '[,:]' '{ print $2, $3 }' OFS='' file
Run Code Online (Sandbox Code Playgroud)

它还使用一个空的输出字段分隔符。