Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15
  1. #1
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130

    Script/Tool zum Schreiben eines Inhaltsverzeichnises in eine Textdatei

    Hallo,
    Ich suche nach einer einfachen Methode/Script/…, die ein bestimmtes Verzeichnis nach bestimmten Dateien durchsucht und für jede gefundene Datei eine Zeile in eine Text Datei schreibt -> hier eine Beispiel:

    1. Angenommen in dem Verzeichnis /usr/Thomas/Bilder/Export/ befinden sich folgende Dateien (Fotos *_f.jpg + Fotothumbnails *_t.jpg):

    foto1_f.jpg
    foto1_t.jpg
    foto2_f.jpg
    foto2_t.jpg
    foto3_f.jpg
    foto3_t.jpg
    …..

    2. Der gewünschte Script, gestartet in dem obengenanten Verzeichnis, scannt das Verzeichnis nach den Fotos (also nach *_f.jpg bzw *_t.jpg) und generiert für jede gefundene Fotodatei ein Eintrag in eine Textdatei mit folgendem Inhalt:

    FESTVORGEGEBENER_TEXT_1 foto1_f.jpg FESTVORGEGEBENER_TEXT_2 foto1_t.jpg FESTVORGEGEBENER_TEXT_3
    FESTVORGEGEBENER_TEXT_2 foto2_f.jpg FESTVORGEGEBENER_TEXT_2 foto2_t.jpg FESTVORGEGEBENER_TEXT_3
    FESTVORGEGEBENER_TEXT_3 foto3_f.jpg FESTVORGEGEBENER_TEXT_2 foto3_t.jpg FESTVORGEGEBENER_TEXT_3
    ….
    Die FESTVORGEGEBENER_TEXT_1-3 sollten Sonderzeichen wie " : ; /<> enthalten dürfen und können in dem Script fix vordefiniert werden

    Das ganze sollte als Input für eine HTML-Foto-Galerie genutzt werden (also HTML-Code) - hier ein "echtes" Beispiel

    <td style="vertical-align: middle; height: 140px; width: 200px; text-align: center;"><a class="fancybox-effects-a" href="../images/foto1_f.jpg" data-fancybox-group="gallery2" ><img src="../images/foto1_t.jpg" alt=""></a></td>

    Ich habe (noch) keine Ahnung von Scripts, aber ich stelle mir das irgedwie folgendvor (die syntax ignorieren - es ist nur "bilidliche" Darstellung)

    VAR1 = FESTVORGEGEBENER_TEXT_1
    VAR2 = FESTVORGEGEBENER_TEXT_2
    VAR3 = FESTVORGEGEBENER_TEXT_3

    $FOTOLISTE = ls *_f.jpg

    for $FOTO in $FOTOLISTE
    $FOTONAME = $FOTO ohne "_f.jpg"
    print VAR1 $FOTONAME_f.jpg VAR2 $FOTONAME_t.jpg VAR3 > textdatei.txt
    end
    Geändert von Mister Cool (25.01.2012 um 11:11 Uhr)

  2. #2
    Moderator Betriebssysteme Avatar von ImperatoR
    Registriert
    12.2006
    Ort
    BaWü
    Alter
    24
    Beiträge
    4.795

    Mod-Info.

    Mal nach Terminal verschoben. Ich hoffe dir kann hier eher jemand helfen!
    { 4pple.de/, twitter.com/, 500px/, 15" MacBookPro6,2 Antiglare }

  3. #3
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    Danke, das hoffe ich auch

  4. #4
    Moderator Betriebssysteme Avatar von ImperatoR
    Registriert
    12.2006
    Ort
    BaWü
    Alter
    24
    Beiträge
    4.795
    Ach mir fällt zu deinem Problem ein einfaches Python-Skript ein:

    Code:
    import glob
    import os
    
    filelist_t = glob.glob("/path/to/files/x*t.jpg")
    filelist_f = glob.glob("/path/to/files/y*f.jpg")
    
    resultlist = []
    for i in range(len(filelist_t)):
        file_path_string_t = filelist_t[i]
        file_path_string_f = filelist_f[i]
        filename_t = os.path.split(file_path_string_t)[-1]
        filename_f = os.path.split(file_path_string_f)[-1]
        res = "Irgendwas" + filename_t + "was anderes" + filename_f
        resultlist.append(res)
    
    print resultlist
    Das könnte funktionieren -- habe es nicht getestet.
    { 4pple.de/, twitter.com/, 500px/, 15" MacBookPro6,2 Antiglare }

  5. #5
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    das werde ich gleich ausprobieren - herzlichen Dank!!!

  6. #6
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    Hi,

    es scheitert leider bereits an dem import glob und import os.
    Sind es irgendwelche zusätzliche "Module" zuerst geladen werden müssen (die unter Mac OS 10.7 noch nicht aktiv sind?

    Ich bin inzw. weiter gekommen - ich habe folgendes ausprobiert und es funzt!!!

    fotolist="$(ls *_f.jpg)"
    for foto in $fotolist
    do
    thumb="$(echo $foto | sed "s/_f.jpg/_t.jpg/")"
    echo TXT1 $foto TXT2 $thumb TXT3
    done
    Geändert von Mister Cool (27.01.2012 um 00:33 Uhr)

  7. #7
    Gelber Richard
    Registriert
    12.2005
    Ort
    Alzenau
    Beiträge
    12.365
    Mit Skripten kenne ich mich wenig aus, ich bastle da immer ziemlich nach dem Try-and-Error-Prinzip, aber ist die Angabe im Eröffnungspost wirklich so gedacht, daß daß an der ersten Stelle eine wechselnde Variable steht und nicht immer Fest_vorgegebener_Text_1? Das würde das Skript sicher erheblich vereinfachen, wenn da nicht immer neue Variablen eingelesen werden müssten.

  8. #8
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    Hi,

    ich habe auch gerade als absoluter Neuling den Siebenzeiler ausgetüftelt, und bin mir nicht sicher was du meinst.
    Die Reihenfolge: TXT1 variable1 TXT2 variable2 TXT2 ist durch den gewünschten HTML-Code vorgegeben -> siehe oben :.hier ein "echtes" Beispiel..

  9. #9
    Gelber Richard
    Registriert
    12.2005
    Ort
    Alzenau
    Beiträge
    12.365
    Du wechselst oben in der ersten Spalte von 1 auf 2 auf drei, in Spalte 2 und 3 bleiben die Variablen immer auf 2 und 3.
    Ich vermute mal, daß auch in der ersten Spalte immer, in jeder Zeile 1 stehen sollte (das wäre eine vergleichsweise simple Skriptvariante).
    Muß aber nicht sein.
    Nur solltest du dann, wenn es wirklich so sein sollte, auch angeben, woher die Variablen der ersten Spalte kommen, nachdem die dritte Datei abgearbeitet wurde. Wird dann die Variable immer automatisch um einen Zähler am Ende erhöht oder wird sie irgendwo ausgelesen?

  10. #10
    Moderator Betriebssysteme Avatar von ImperatoR
    Registriert
    12.2006
    Ort
    BaWü
    Alter
    24
    Beiträge
    4.795
    Zitat Zitat von Mister Cool Beitrag anzeigen
    es scheitert leider bereits an dem import glob und import os.
    Sind es irgendwelche zusätzliche "Module" zuerst geladen werden müssen (die unter Mac OS 10.7 noch nicht aktiv sind?
    Das sind Pakete der Standardlibrary und sollten eigentlich vorhanden sein!
    { 4pple.de/, twitter.com/, 500px/, 15" MacBookPro6,2 Antiglare }

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •