| From: | Julio Rios <julio(dot)rios(dot)2006(at)gmail(dot)com> |
|---|---|
| To: | pgsql-es-ayuda(at)postgresql(dot)org |
| Subject: | Separadores de campos, registros usando bash |
| Date: | 2011-07-29 11:43:51 |
| Message-ID: | CADub=nx_hw-On1jPGaAoCqmxSWwFAdR=cRAF07tsdB7KgDxxmQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
Buenos días, estoy intentando recuperar datos mediante scripts en bash sobre
una consulta SQL.
La consulta por ejemplo tiene 2 campos y 4 filas y estoy intentando
recuperar estos datos para almacenarlo en variables y luego hacer ciertas
cosas dependiendo de los datos almacenados.
Estoy mirando la ayuda de psql y no logro poner en el comando psql los
parámetros necesarios para poder separar correctamente campos, y registros y
luego poder meterlo en variables.
Alguno de ustedes ha tenido esta problemática y sabe como resolverlo.
Adjunto el ejemplo en bash que estoy intentado resolver
#!/bin/bash
RES=`psql -d BBDD -U usuario -h servidor -A -t -c "SELECT l_registro,
c_usuario from ts_usuarios order by 1 desc;"` # Ejecuto la consulta y la
guardo en RES
OLDIFS="$IFS" # Respaldo el valor de IFS, no olvidar las comillas dobles
IFS=$'/n' # Seteo el valor de IFS que me sirve
echo $RES
for row in $RES ; # Itero por los registros porque for separará por \n
do
if [ ${#row} -gt 0 ]; then # Chequeo si tengo un registro
INNERIFS="$IFS" # Hago un respaldo temporal de IFS, no olvidar las
comillas dobles
IFS="$OLDIFS" # Ahora separaré los campos
id=$(echo $row | cut -d "|" -f 1)
nombre=$(echo $row | cut -d "|" -f 2)
echo "El id es $id y el nombre es $nombre"
IFS="$INNERIFS" # Vuelvo a hacer que IFS separe por \n para la
próxima iteración
fi
done
IFS="$OLDIFS" # Dejo IFS en su estado original.
Gracias
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Gilberto Castillo Martínez | 2011-07-29 12:04:28 | Re: Separadores de campos, registros usando bash |
| Previous Message | Mariano Reingart | 2011-07-28 18:42:22 | Re: replicacion? |