1

whileループのecho文前のf3セルの値を変更したい

Exec &> output.csv  

file = "d:/aa.csv"  

while ifs =','  

read f1 f2 f3 f4 f5 f6 f7 f8  

do  

echo "$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8"  

done < $file  
4

4 に答える 4

4

値を変更したい場合は、変更してください。エラーの修正:

while IFS=, read -r f1 f2 f3 f4 f5 f6 f7 f8  
do  
    f3="something else"
    echo "$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8"  
done < "$file" > output.csv

また

IFS=,
while read -ra fields; do  
    fields[2]="something else"
    echo "${fields[*]}"
done < "$file" > output.csv
于 2013-07-09T19:27:34.950 に答える
1

To change f3 to A3 in your csv use this sed command:

sed -i.bak -r 's/^(([^,]+,){2})[^,]+(.+)$/\1A3\3/' aa.csv
于 2013-07-09T19:07:23.633 に答える
1

awk:

awk 'BEGIN{FS=OFS=","}{$3="Whatever"}1' input.csv > output.csv
于 2013-07-09T19:08:35.300 に答える
0

これはうまくいくかもしれません(GNU sed):

sed -ri 's/[^,]+/REPLACEMENT/3' file.csv

これにより、3 番目に出現する非コンマが に変更されますREPLACEMENT

于 2013-07-10T05:48:52.420 に答える