Diferencia entre revisiones de «Sqltogrep»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
(Página creada con « <nowiki> #!/bin/bash consulta=$1 camps=$(echo $consulta | sed -r 's/select (.*) from .*$/\1/' ) echo "Traure els camps: $camps" fitxer=$(echo $consulta | sed -r 's/.* f...»)
 
Sin resumen de edición
 
Línea 1: Línea 1:
Aquest script sols accepta sql amb aquest format:
$ ./sqltogrep 'select 5,6 from fitxer.txt where 2=4 AND 3=1'
on les columnes són sempre números i sols val fer AND en el where.
  <nowiki>
  <nowiki>
#!/bin/bash
#!/bin/bash

Revisión actual - 16:08 9 may 2013

Aquest script sols accepta sql amb aquest format:

$ ./sqltogrep 'select 5,6 from fitxer.txt where 2=4 AND 3=1' 

on les columnes són sempre números i sols val fer AND en el where.

#!/bin/bash

consulta=$1

camps=$(echo $consulta | sed -r 's/select (.*) from .*$/\1/' )
echo "Traure els camps: $camps"

fitxer=$(echo $consulta | sed -r 's/.* from (.*) where .*$/\1/' )
echo "Del fitxer: $fitxer"

where=$(echo $consulta | sed -r 's/.* where (.*)$/\1/')
echo "Where: $where"

datos=$(cat $fitxer)

for i in $(echo $where | sed  's/ [aA][nN][dD] / /g')  
do

camp=${i%%=*}
valor=${i#*=}

datos=$(echo "$datos" | egrep "^([0-9]* ){$((camp-1))}$valor[ $]")
#echo $datos | egrep "^([0-9]* ){$((camp-1))}$valor[ $]"
done

echo "$datos"  | cut -d" " -f$camps