我不确定这里做错了什么
echo "T T A T T T" | awk '{print $4"t"gsub(/$4/,"")}'
T 0
我正在尝试得到这个结果
echo "T T A T T T" | awk '{print $4"t"gsub(/T/,"")}'
T 5
感谢
从注释开始,您不希望像使用常量正则表达式那样将$4
包含在/../
中。('$'
有特殊含义(您只想使用$4
,因此它将被视为动态正则表达式,例如
awk '{print $4"t"gsub($4,"")}'
有关使用动态正则表达式的讨论,请参阅GNU Awk用户指南-3.6使用动态正则正则表达式
示例使用/输出
然后,您可以获得所需的输出,例如
$ echo "T T A T T T" | awk '{print $4"t"gsub($4,"")}'
T 5