CSV文件上的文本处理

Dan*_*uko 2 csv bash shell awk sed

我正在处理一个具有以下形式的文件:

"1999-01-04";1391.12;3034.53;66.515625;86.2;441.39
"1999-01-05";1404.86;3072.41;66.3125;86.17;440.63
"1999-01-06";1435.12;3156.59;66.4375;86.32;441
Run Code Online (Sandbox Code Playgroud)

有时,有没有小数的值(例如441而不是441.0),我需要小数.如何编写一个脚本,以便添加所有整数.0以便它们成为浮点数?

123*_*123 5

用sed

sed 's/\(;[^\.]*\)\(;\|$\)/\1.00\2/g' file
Run Code Online (Sandbox Code Playgroud)

只是一个简单的替代正则表达式.

"1999-01-04";1391.12;3034.53;66.515625;86.2;441.39
"1999-01-05";1404.86;3072.41;66.3125;86.17;440.63
"1999-01-06";1435.12;3156.59;66.4375;86.32;441.00
Run Code Online (Sandbox Code Playgroud)