【发布时间】:2016-05-23 13:33:25
【问题描述】:
我需要一些帮助,我想在文件的行上进行替换,如下所示:
aoipp;dadada.12312;ss;1245454;Xiop;12.12;45.3;47.897;31.5;
asdfafd;14355.54664;peasd;125.1;900.2;76.897;67.456;asdfdf;
perio;777.2;ipoes;900.34;2;1980.45;870.98;67.67;
我想用, 替换每个.,但只能在分隔符; 第五次出现之后。其他一切都需要保持不变。所以所需的输出文件如下所示:
aoipp;dadada.12312;ss;1245454;Xiop;12,12;45,3;47,897;31,5;
asdfafd;14355.54664;peasd;125.1;900.2;76,897;67,456;asdfdf;
perio;777.2;ipoes;900.34;2;1980,45;870,98;67,67;
我有兴趣主要在 perl 中执行此操作,因此我可以将其合并到更大的程序中,但也欢迎使用 bash / awk 中的任何解决方案。提前致谢。
【问题讨论】:
-
我不知道为什么人们一直对我投反对票。以下所有答案都达到了预期的结果,但我只能接受一个。
-
可能是因为您没有尝试自己解决问题。
-
很公平。我不知道处理这个问题所需的正则表达式。下次我会在我开始提问时发布一些失败的尝试。
标签: bash perl awk delimiter substitution