使用 bash 脚本修改 CSV 中的值

Mir*_*idt 5 csv bash sh bc

我有以下 CSV 文件:

2012-07-12 15:30:09; 353.2
2012-07-12 15:45:08; 347.4
2012-07-12 16:00:08; 197.6
2012-07-12 16:15:08; 308.2
2012-07-12 16:30:09; 352.6
Run Code Online (Sandbox Code Playgroud)

我想要做的是修改第二列中的值......

我已经可以做的是提取值并以这种方式修改它:

#!/bin/bash
cut -d ";" -f2 $1 > .tmp.csv
for num in $(cat .tmp.csv)
    do
        (echo "scale=2;$num/5" | bc -l >> .tmp2.csv)
done
rm .tmp.csv
rm .tmp2.csv
Run Code Online (Sandbox Code Playgroud)

但我也需要在该文件中包含column1...

我希望你们中的一个人能给我一个提示,我只是被困住了!

Deb*_*tya 4

从你的代码中,这就是我的理解

输入

2012-07-12 15:30:09; 353.2 
2012-07-12 15:45:08; 347.4 
2012-07-12 16:00:08; 197.6 
2012-07-12 16:15:08; 308.2 
2012-07-12 16:30:09; 352.6 
Run Code Online (Sandbox Code Playgroud)

awk代码

awk -F “;” '{打印$1“;” $2/5}' 输入

输出

2012-07-12 15:30:09;70.64
2012-07-12 15:45:08;69.48
2012-07-12 16:00:08;39.52
2012-07-12 16:15:08;61.64
2012-07-12 16:30:09;70.52
Run Code Online (Sandbox Code Playgroud)