Jeg har et lille stykke kode, som jeg har brug for at Gentag 24 gange (for hver time af en dag ).... Her er, hvad det ser ud nu ...
Code:
while read hour file; do
if [ $hour -eq 00 ]; then
count=`awk -F, 'BEGIN { count=0 } ............. { count++ } END { print count }' $file`
hourly01=`expr $hourly1 + $trade_count`
elif [ $hour -eq 01 ]; then
count=`awk -F, 'BEGIN { count=0 } ............. { count++ } END { print count }' $file`
hourly02=`expr $hourly2 + $trade_count`
..................
fi
done < ls.txt
Som du kan se den er enkel, og iterates igen og igen, men unødigt (24 gange) ... Kan jeg erstatte alle de numre, med en variabel ... gerne sådan ..
De må ikke tage min kode bogstav for bogstav, blot tage idéen og fortælle mig, hvis det kan lade sig gøre ..
Code:
for (x=00; x<=23; x++) {
if [ $hour -eq $x ]; then
count=`awk -F, 'BEGIN { count=0 } ............. { count++ } END { print count }' $file`
hourly$x=`expr ${hourly}$x + $trade_count`
fi
}
Thats' tanken .. Jeg ved, at jeg ikke brugte et Unix
for-løkke, Men jeg lige begyndt at lære Unix og jeg ikke se, hvad de for udseende i UNIX endnu) .. Men kan jeg skrive den midterste sektion (hver forekomst af $ x) den måde, at jeg skrev det her?