:-O ! Gracias! On Monday 24 May 2004 14:03, Carlos E. R. wrote:
El 2004-05-20 a las 15:20 +0100, miguel escribió:
Se trata de hacer un bucle en le que,por ejemplo, sacar los datos por pantalla. Del tipo:
CADENA="dato1,dato2,dato3,dato4"
Una manera muy curiosa, y que no necesita programas externos al bash (y por tanto más rápida que usar tr, cut, o awk), es esta:
#!/bin/bash
CADENA="dato1,dato2,dato3,dato4"
ALT_IFS="$IFS" IFS=","
set $CADENA echo $1 echo $2 echo $3 echo $4
IFS=$ALT_IFS
Comprobación:
cer@nimrodel:~/bin> palabras dato1 dato2 dato3 dato4 cer@nimrodel:~/bin>
Para acordarme - que yo tampoco se mucho de scripts, aunque haya hecho unos cuantos - he buscado primero en "set", para ver que era con IFS, luego he buscado con "mc" la cadena IFS en los scripts de inicio de sistema, y he encontrado por lo menos 4 que usan ese truco.
Más información sobre cosas "desas":
/usr/share/doc/howto/es/Bash-Prompt-Como.gz /usr/share/doc/howto/es/Bash-Prog-Intro-COMO.gz
Y otro "advanced" creo que hay por ahí.
-- Saludos Carlos Robinson