Portál AbcLinuxu, 27. října 2025 20:04
awk -f csv2qif.awk vypis.csv vypis.qifSkript zde:
BEGIN {
FS= ";"
system ("/usr/bin/iconv -f cp1250 -t utf8 "ARGV[1]" > temp.csv")
system ("grep ^[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9] temp.csv > vystup.csv")
printf ("!Type:Bank\n") > ARGV[2]
while ( ( getline RadekVypisu < "vystup.csv") > 0 ) {
split (RadekVypisu,PoleHodnot)
Datum=PoleHodnot[1]
gsub(" ","",PoleHodnot[7])
Castka=PoleHodnot[7]
Poznamka=PoleHodnot[3]
printf ("D"substr(Datum,1,2)"."substr(Datum,4,2)"."substr(Datum,7,4)"\n")>> ARGV[2]
printf ("T"Castka"\n")>> ARGV[2]
printf ("M"substr(Poznamka,2,length(Poznamka)-2)"\n")>> ARGV[2]
printf ("^\n")>> ARGV[2]
}
}
Připomínky vítám, výtky si nechte 
Tiskni
Sdílej:
První kroky jsou trochu těžkopádné. Díky.
iconv XXX vstup | grep radky_co_chceme | awk 'BEGIN{inicialiace}{kod radku}'
pripadne bez grepu
iconv XXX vstup | awk 'BEGIN{}/match_radku/{kod}'
Abych jen nekecal, tak narychlo zbastleny kod :)
iconv -f cp1250 -t utf8 vstup.csv | awk 'BEGIN{FS=";"}/[0-9]+\-[0-9]+\-/{print $0}'
Kazdopadne neber to jako kritiku, spis jako dalsi moznost reseni.
Časem třeba udělám verzi 3 final.
Díky.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.