我将使用awk替换字段中的最后一个字符。给定的文件如下:
John,Doe,Abc fgh 123,Abc
John,Doe,Ijk-nop 45D,Def
John,Doe,Qr s Uvw 6,Ghi
我想用逗号“,”替换最后一个空格“ ”,基本上将字段分成两部分。结果应该是这样的:
John,Doe,Abc fgh,123,Abc
John,Doe,Ijk-nop,45D,Def
John,Doe,Qr s Uvw,6,Ghi
我尝试创建一个变量,用于计算字段中空格的出现次数:
{var1=gsub(/ /,"",$3)}
并将其集成进去。
{var2=gensub(/ /,",",var1,$4); print var2}
但是gensub函数中的how-argument除了数字和G/g之外,不允许包含任何字符。
我在这里找到了一个类似的主题,但无法将其解决方案适应到我的问题上。
我相当新手,所以任何帮助都将不胜感激!
{n=gsub(/ /," ",$3);newv=n?gensub(/ /,",",n,$3):newv;print newv;}
应该可以正常工作。是什么让你认为它不能正常工作? - rici