#1 6. Oktober 2009 Hallo zusammen, ich stehe vor dem folgendem Problem: Auf dem Fileserver liegen Daten.. Es gehören immer zwei Dateien zueinander: Teufel1.jpg & Teufel1.txt, Hexe1.jpg & Hexe1.txt ich benötige einen script, welcher nichts anderes macht als die beiden verzeichnise geht und einen abgleich macht ob beide dateien vorhanden sind. Also z.B. /usr/local/Webapplikation1/Teufel1.jpg und /usr/local/Webapplikation2/Teufel1.txt Wenn beide dateien vorhanden sind, soll das script diese nach /usr/local/Webapplikation/public/.. verschieben. Wenn nicht, weil z.B. Teufel1.txt noch nicht im Verzeichnis liegt, soll das script zum nächstem abgleich springen usw. Wie könnte man dies am einfachsten realisieren, gibt es ggf. schon solche scripts?
#2 7. Oktober 2009 AW: Script: Datei Pärchen suchen unter Unix coreutils \o/ Code: #!/bin/bash for i in `ls /usr/local/Webapplikation1/`; do FILE=`echo $i | cut -d '.' -f1` foo=`find /usr/local/Webapplikation2/ -name $FILE` if [[ -e "$foo" ]]; then mv $i /usr/local/Webapplikation/public/ mv $foo /usr/local/Webapplikation/public/ fi done quick'n'dirty :~ alternativ die Dirs als Variablen, eine Funktion, und unten dann die Funktion zweimal aufrufen, jedes Mal mit dem anderen Dir, wird nicht wirklich ersichtlich, ob in Dir1 definitiv immer eine Datei liegt und ob in Dir2 erst eine Datei angelegt wird
#3 7. Oktober 2009 AW: Script: Datei Pärchen suchen unter Unix es ist unterschiedlich, mal ist die datei zuerst in Dir1, mal in Dir2 ... die datei hat dann immer den selben namen weil die .jpg datei eine dazugehörige .txt hat. wenn beide vorhanden (pärchen) sind, sollen diese halt ins zielverzeichnis verschoben werden. mfg
#4 9. Oktober 2009 AW: Script: Datei Pärchen suchen unter Unix Code: #!/bin/bash dirs="/usr/local/Webapplikation1/ /usr/local/Webapplikation2/" for i in `find $dirs -iname *.jpg` do filename=`basename $i .jpg` txtfile=`find $dirs -iname $filename.txt` if [[ -e $txtfile ]] then mv $i /usr/local/Webapplikation/public/ mv $txtfile /usr/local/Webapplikation/public/ fi done bei "dirs=" kannst du noch mehr verzeichnisse angeben einfach mit nem space getrennt