Некоторые выходные данные в столбце Сумма транзакции неверны. Это CSV-файл:
Account number (preferred / formatted),Customer reference,Posting date,Account currency,Transaction amount
750856653,233454,1/10/2019,USD,-1888.81
750856653,233464,1/10/2019,USD,-873.49
750856653,NONREF,1/10/2019,USD,2762.3
750856653,NONREF,2/10/2019,USD,-456.53
750856653,233467,2/10/2019,USD,-2547.7
Это мой сценарий awk:
Account number (preferred / formatted),Customer reference,Posting date,Account currency,Transaction amount
750-85665-3 0000233454 100119000000188881
750-85665-3 0000233464 100119000000087349
750-85665-3 0000233467 100219000000025477
Сумма в долларах США, -2547,7 была переформатирована в 25477, что неверно, должно быть254770. Мне бы хотелось, чтобы каждая сумма, состоящая из одной цифры после десятичной точки, имела в конце ноль (0), таким образом, она совпадает с суммой чека при входе в систему.
awk -v s1=" " '
BEGIN{
FS=","
}
FNR==1{
print
next
}
$2!~/NONREF/{
$1=substr($1,1,3)"-"substr($1,4,5)"-"substr($1,length($1))
$2=sprintf("%010d",$2)
split($3,array,"/")
$3=sprintf("%02d%02d%s",array[2],array[1],substr(array[3],3))
gsub(/^-|\./,"",$NF)
$NF=sprintf("%012d",$NF)
$3=$3 $NF
print $1 s1 $2,$3
}
' Input_file
Это мой вывод после запуска сценария: