|
Sintaxe / Rules (Eu posso fazer isso?)
Tenho um pequeno pedaço de código que eu preciso para iterar 24 vezes (para cada hora de um dia ).... aqui é o que parece que agora ...
Código:
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
Como você pode ver é simples, e itera uma e outra, mas desnecessariamente (24 vezes) ... Posso substituir todos os números com uma variável ... como tal ..
não ter o meu código alfabético por carta, basta ter a idéia e me diga se ele pode ser feito ..
Código:
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' a ideia .. Eu sei que eu não uso um unix for-loop, Mas eu só comecei aprendendo unix e não para verificar o que o espera como no unix ainda) .. Mas eu posso escrever a meio ponto (a cada ocorrência de $ x) do jeito que eu escrevi aqui?
Última edição por yongho; em 06/22/2005 05:48..
|