Script: Datei Pärchen suchen unter Unix

Dieses Thema im Forum "Linux & BSD" wurde erstellt von pohuist, 6. Oktober 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  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
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.