awk es tu amigo:
---8<--------8<--------8<--------8<--------8<--------8<--------8<-----
cat data.txt | while read linea; do
eval $(echo $linea | awk '{print "MODULO=$(echo "$1," | cut -f2 -d-)";
for (i=9; i <= NF; i++)
print "ERRORES[" i - 9 "]=" strtonum($i);}')
for disco in `seq 0 11`; do
if [ ${ERRORES[$disco]} != "0" ]; then
echo comando_extra $MODULO $disco ${ERRORES[$disco]}
fi
done
done
---8<--------8<--------8<--------8<--------8<--------8<--------8<-----
Aqui suponemos que data.txt contiene los datos que pusiste en tu mensaje,
y que el comando que hay que correr cuando encuentras errores mayores a 0
se llama "comando_extra" y espera argumentos el numero de modulo, disco y
la cantidad de errores. Ahi ajustale pa'tus necesidades :P
On Tue, 8 Sep 2009, bmejiap wrote:
Hola que tal, tenemos un asuntillo para automatizar aqui en la chamba,
module-1 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-2 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-3 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-4 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-5 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-6 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-7 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-8 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-9 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-10 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-11 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-12 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-13 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-14 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 0 0 0 0 0
module-15 16 C7 Ultra DMA CRC Error Count 0 0 0 0 0 0 0 782 0 0 0 67
como pueden ver en la ultima linea hay una cantidad mayor a 0, la onda es esta,
si cualquiera de los 12 lugares tiene algo mayor a cero tengo que ejecutar otro
comando en el modulo especificado y en el disco indicado
la pregunta es como poder hacer eso en bash, que el script solito sea capaz de
definir el modulo y el disco, y eso mandarlo a variables y luego ejecutar el
otro comando con las variables anteriores!
Saludos,
Bernardo.
*****************************************************
Bernardo Mejia Paredes
xanatos
;=) ujuju
Encuentra las mejores recetas en Yahoo! Cocina.
http://mx.mujer.yahoo.com/cocina/
!DSPAM:4aa6efb594891355718722!