meinereinerseiner
03-01-2003, 13:06
Hallo,
ich möchte regelmäßig ein paar Verzeichnisse nach dateien mit bestimmten Inhalten durchsuchen und bei erfolgreicher Suche die betroffenen Dateien Verschieben.
hab dafür folgenden ansatz:
#!/bin/sh
# Pfad zu Datei mit den Suchbegriffen
SEARCH_DB=`cat /home/samba/search/search_db`
# Pfad zum Ordner wo die Dateien mit den Suchbegriffen hinkommen
DIR="/home/samba/search/tmp"
# Pfad zu den Dateien die durchsucht werden sollen (dort gibts keine
# weitern Unterverzeichnisse)
SEARCH_DIRS="/home/andi/files
/home/tom/files
/home/user1/files
/home/samba/wg"
for i in $SEARCH_DIRS; do
cd $i # ins entspr. Verz. wechseln
set `du` # kucken ob verzeichnis leer ist, was dann mit dem "test"
# ausgewertet wird (ist mir nix besseres eingefallen)
if [! "$1" = "4" ]; then
CHECK_FILES=`ls -1 | tail -2` # vorhandenen FIles in $CHECK_FILES packen
for x in $CHECK_FILES; do
for y in $SEARCH_DB: do
# hier weis ich dann nicht weiter:
# kucken ob in den Datein in $CHECK_FILES
# die suchbegriffe aus $SEARCH_DB sind, wenn ja
# die dann nach $DIR moven
# so ala "grep $y $x, wenn ok, mv $x $DIR wenn nicht OK dann
# halt den naechsten begriff
done
done
fi
done
exit 0
kann mir da jemand weiterhelfen???
der tom
ich möchte regelmäßig ein paar Verzeichnisse nach dateien mit bestimmten Inhalten durchsuchen und bei erfolgreicher Suche die betroffenen Dateien Verschieben.
hab dafür folgenden ansatz:
#!/bin/sh
# Pfad zu Datei mit den Suchbegriffen
SEARCH_DB=`cat /home/samba/search/search_db`
# Pfad zum Ordner wo die Dateien mit den Suchbegriffen hinkommen
DIR="/home/samba/search/tmp"
# Pfad zu den Dateien die durchsucht werden sollen (dort gibts keine
# weitern Unterverzeichnisse)
SEARCH_DIRS="/home/andi/files
/home/tom/files
/home/user1/files
/home/samba/wg"
for i in $SEARCH_DIRS; do
cd $i # ins entspr. Verz. wechseln
set `du` # kucken ob verzeichnis leer ist, was dann mit dem "test"
# ausgewertet wird (ist mir nix besseres eingefallen)
if [! "$1" = "4" ]; then
CHECK_FILES=`ls -1 | tail -2` # vorhandenen FIles in $CHECK_FILES packen
for x in $CHECK_FILES; do
for y in $SEARCH_DB: do
# hier weis ich dann nicht weiter:
# kucken ob in den Datein in $CHECK_FILES
# die suchbegriffe aus $SEARCH_DB sind, wenn ja
# die dann nach $DIR moven
# so ala "grep $y $x, wenn ok, mv $x $DIR wenn nicht OK dann
# halt den naechsten begriff
done
done
fi
done
exit 0
kann mir da jemand weiterhelfen???
der tom