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
値を変更したい場合は、変更してください。エラーの修正:
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
To change f3
to A3
in your csv use this sed command:
sed -i.bak -r 's/^(([^,]+,){2})[^,]+(.+)$/\1A3\3/' aa.csv
とawk
:
awk 'BEGIN{FS=OFS=","}{$3="Whatever"}1' input.csv > output.csv
これはうまくいくかもしれません(GNU sed):
sed -ri 's/[^,]+/REPLACEMENT/3' file.csv
これにより、3 番目に出現する非コンマが に変更されますREPLACEMENT
。