我有一个csv文件,其中包含具有NONREF和RETURN的行,NONREF行已被删除,只需要帮助即可删除RETURN行。
这是CSV文件的样子,如下所示:
806185341,1395290,29/10/2019,USD,-1743.01
806185341,190944,-386.75
806185341,NONREF,21351.47
806185341,30/10/2019,-691430.16
806185341,1395043,-1021.72
806185341,RETURN,4/10/2019,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