Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex awk stumper:字段内的正则表达式替换_Regex_Awk - Fatal编程技术网

Regex awk stumper:字段内的正则表达式替换

Regex awk stumper:字段内的正则表达式替换,regex,awk,Regex,Awk,我是awk的新手,我似乎无法理解这一点。如何使用正则表达式替换单个字段 在perl中,我可以将感兴趣的字段分配给一个变量,然后$myvar=~s/foo/bar/g。当然,在perl中,我也必须自己进行字段管理,而在awk中这更容易 对于目前的问题,是欧洲货币记录,我想在金额字段中将逗号改为句号。但我只需要针对那个字段,这样我就不会破坏其他可以用逗号作为散文标点符号的字段 解决方案比我想象的更难吗?还是更简单?我需要更换唱片分隔符还是像那样俗气的东西 谢谢你的帮助 sub()接受第三个参数,即要

我是awk的新手,我似乎无法理解这一点。如何使用正则表达式替换单个字段

在perl中,我可以将感兴趣的字段分配给一个变量,然后
$myvar=~s/foo/bar/g
。当然,在perl中,我也必须自己进行字段管理,而在awk中这更容易

对于目前的问题,是欧洲货币记录,我想在金额字段中将逗号改为句号。但我只需要针对那个字段,这样我就不会破坏其他可以用逗号作为散文标点符号的字段

解决方案比我想象的更难吗?还是更简单?我需要更换唱片分隔符还是像那样俗气的东西

谢谢你的帮助

sub()接受第三个参数,即要更改的字段(或变量):

$ echo '02/08/2011 7,33 Shopping' | awk '{sub(/,/,".",$2)} 1'
02/08/2011 7.33 Shopping

哇,不知道我怎么会在我的奥莱利中错过这个。就在那里。一定是通宵了。非常感谢。