在csv文件中,我有以下列,我尝试更改第二列的值
awk -F ',' -v OFS=',' '$1 { $2=$2*2; print}' path/file.csv > output.csv.
但它返回零并删除双引号.
FILE.CSV
"sku","0.47","supplierName"
"sku","3.14","supplierName"
"sku","3.56","supplierName"
"sku","4.20","supplierName"
Run Code Online (Sandbox Code Playgroud)
output.csv
"sku",0,"supplierName"
"sku",0,"supplierName"
"sku",0,"supplierName"
"sku",0,"supplierName"
Run Code Online (Sandbox Code Playgroud)
您可以在FS值中指定多个字符.
$ awk -v FS="\",\"" -v OFS="\",\"" '{$2=$2*2}1' file
"sku","0.94","supplierName"
"sku","6.28","supplierName"
"sku","7.12","supplierName"
"sku","8.4","supplierName"
Run Code Online (Sandbox Code Playgroud)
如果要舍入到小数点后两位,请尝试此操作.
$ awk -v FS="\",\"" -v OFS="\",\"" '{$2=sprintf("%.2f",$2*2)}1' file
"sku","0.94","supplierName"
"sku","6.28","supplierName"
"sku","7.12","supplierName"
"sku","8.40","supplierName"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |