У меня есть CSV-файл, который содержит строки, в которых есть NONREF и RETURN, строки NONREF уже удалены, просто нужно помочь удалить строки RETURN.
Вот так выглядит CSV-файл ниже:
806185341,1395290,29/10/2019,USD,-1743.01
806185341,190944,29/10/2019,USD,-386.75
806185341,NONREF,29/10/2019,USD,21351.47
806185341,NONREF,30/10/2019,USD,-691430.16
806185341,1395043,30/10/2019,USD,-1021.72
806185341,RETURN,4/10/2019,USD,12.98
Код:
awk -v s1=" " '
BEGIN{
FS=","
}
{
gsub(/\r/,"")
}
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))
if($NF~/\.[0-9]$/){
$NF=$NF"0"
}
gsub(/^-|\./,"",$NF)
$NF=sprintf("%012d",$NF)
$3=$3 $NF
print $1 s1 $2,$3
}
' Input_file
Ожидаемый результат:
806-18534-1 0001395994 103119000000058658
806-18534-1 0001396080 103119000000115483
806-18534-1 0001395958 103119000000076487
806-18534-1 0001395893 103119000000098132