gsub
使用时一直在使用gawk
,但不接受第 4 个参数。我怎样才能解决这个问题,以便我得到一个没有空格的字符串?
for ( knam in tseq ) {
## Remove any blanks from array element astr[i]
str = "" ; gsub(/[[:blank:]]+/, "", astr[i], str)
if ( knam == str ) {
print "Matched line: " astr[i]
}
}
至少从 GNU Awk 5.1.0 开始,该
gsub
函数只接受 3 个参数,就地修改第三个参数,并返回所做的替换次数。如果要将结果分配给新字符串并保持输入不变,则可以
gensub
改用但是请注意,虽然它
gsub
是可移植的,gensub
但它是一个 GNU awk 扩展 - 如果您不需要的高级功能gensub
(例如反向替换)然后使用gsub
但首先分配字符串:请参阅GNU Awk 用户指南:字符串操作函数。