- Mitglied seit
- 19. Aug 2008
- Beiträge
- 18.275
- Punkte für Reaktionen
- 4
- Punkte
- 0
Ich musste heute in einem Verzeichnis voller PHP Dateien nach denjenigen suchen, die einen bestimmten String enthalten. Direkt auf der Kommandokonsole hatte ich es nur hingekriegt, dass ich die Zeilen ausgegeben bekommen habe. Das war jedoch ohne Angabe über das File nicht wirklich zu gebrauchen.
Also habe ich mir folgendes Helferlein geschrieben, welches die Suche übernimmt. Vielleicht kanns jemand brauchen
Also habe ich mir folgendes Helferlein geschrieben, welches die Suche übernimmt. Vielleicht kanns jemand brauchen
Code:
#!/bin/sh
if [ "$1" = '-h' ] || [ "$1" = '--help' ] || [ $# -eq 0 ] ; then
echo ""
echo "Sucht rekursiv nach dem Vorkommen eines Strings in einer Datei"
echo ""
echo "Usage : search nadel [heuhaufen]"
echo "nadel : String nach dem gesucht werden soll"
echo "heuhaufen : fakultative Angabe des Suchpfades."
echo " Ohne heuhaufen wird im aktuellen Verzeichnis gesucht"
exit
fi
if [ -z $1 ] ; then
echo "Kein Suchstring angegeben"
exit
fi
if [ -z $2 ] ; then
pfad=$(pwd)
echo "Starte Suche im aktuellen Verzeichnis ($pfad)"
else
if [ -e $2 ] ; then
pfad=$2
echo "Starte Suche in $pfad"
else
echo "Pfad nicht gefunden ($2)"
exit
fi
fi
for i in $(find $pfad -type f) ; do
t=$(cat "$i" | grep "$1")
if [ "$?" = 0 ] ; then
echo "$i"
fi
done