Sqltogrep

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda

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