Page tree

Wenn sie zu dieser Seite Bemerkungen haben klicken sie bitte hier: Kontaktformular

Skip to end of metadata
Go to start of metadata

Problem

Sie möchten ermitteln ob ein bestimmtes Suchmuster in einer sqlite-Datenbank als Feldname, Indexname oder als Wert verwendet wird ?

Im Normalfall müssten sie die Datenbank öffnen, alle Tabellennamen ermitteln und alle Werte aus den einzelnen Tabellen lesen.

Lösung

Genau das erledigt das folgende Script:

(Funktioniert auf allen linux-Systemen oder auch auf mac os-x Systemen)

search_in_db.sh
#!/bin/bash

#$1= Name der DB
#$2= Suchmuster

[ $# -ne 2 ] && echo "USAGE: $0 DBNAME SUCHMUSTER" && exit 1

[ ! -f "$1" ] && echo "$0: Datenbankdatei $1 nicht gefunden" && exit 2

LOT=`sqlite3 $1 ".tables"`

for ii in $LOT
do
        WC=`sqlite3 $1 "select * from $ii"|wc -l`
        SC=`sqlite3 $1 "select * from $ii"|grep $2|wc -l`
        if [ $SC -ne 0 ]
        then
                echo "$ii $SC/$WC TREFFER !!"
        else
                echo "$ii $SC/$WC"
        fi
done