Skip site navigation (1) Skip section navigation (2)

Separadores de campos, registros usando bash

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 (view raw or flat)
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

Responses

pgsql-es-ayuda by date

Next:From: Gilberto Castillo MartínezDate: 2011-07-29 12:04:28
Subject: Re: Separadores de campos, registros usando bash
Previous:From: Mariano ReingartDate: 2011-07-28 18:42:22
Subject: Re: replicacion?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group