Awk 如何在输出中排除逗号(,)

Awk 如何在输出中排除逗号(,),awk,Awk,如何在打印时从以下输出中排除“,” [root@test ~]# echo "list joblog job=host1"|bconsole| awk -F"|" '/host1/ {print $3,$6,$8}' host1 I 417,680,874 host1 I 18,466,159,904 host1 I 8,040,571,252 [root@test ~]# 由于“,”在我的要求中不是字段分隔符,因此无法找到如下打

如何在打印时从以下输出中排除“,”

[root@test ~]# echo "list joblog job=host1"|bconsole| awk -F"|" '/host1/ {print $3,$6,$8}'

 host1   I          417,680,874
 host1   I       18,466,159,904
 host1   I        8,040,571,252
[root@test ~]#
由于“,”在我的要求中不是字段分隔符,因此无法找到如下打印输出的可能方法:

预期产出-:

 host1   I          417680874
 host1   I       18466159904
 host1   I        8040571252
请在此提供帮助。

使用GNU awk替换

print $3,$6,$8


用零替换$8中的所有

为什么不干脆
打印$3,$6,gensub(“,”,“,”g“,$8)
?@mathguy:当然有几种方法可以满足要求。同意;我的意思是,特别是,如果要使用
sub
函数,为什么不使用返回所需值的函数,而不是具有所需值作为副作用的函数?这是相同的解决方案,只是编写得更简单。@mathguy使用
gensub()
会使脚本只在gawk(以及mawk的一些更高版本)中工作,因此移植性较差。所编写的脚本可以在任何awk中工作。
gsub(",","",$8); print $3,$6,$8