Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15
  1. #11
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    >Du wechselst oben in der ersten Spalte von 1 auf 2 auf drei,

    Etzertla, jetzt habe ich verstanden. Natürlich, Du hast recht, der Text für die erste Spalte bleibt natürlich für alle Zeilen gleich/fix -> war mein Tippfehler

    Ich hätte noch eine Frage zu den unterschiedlichen Vorgehensweisen, die hier benutzt wurden, um das erzeugte Ergebnis in eine Datei wegzuschreiben.
    Ich verstehe es so:

    Methode 1 - aus dym Python-Script (sammelt zuerst den Output in einer Iteration-Schleife und schreibt ihn "am Stück" in eine Outputdatei, also die Outputdatei wird nur ein mal auf- und zugemacht)

    fotolist = "$(ls *_f.jpg)"
    resultlist = []
    for i in range(len(fotolist)):
    foto = fotolist[i]
    thumb = "$(echo $foto | sed "s/_f.jpg/_t.jpg/")"
    res = "TXT1" + foto + "TXT2" + thumb + "TXT3"
    resultlist.append(res)
    print resultlist > output.html

    Methode 2 - Mischung aus dym Python-Script und meinem Script (sammelt zuerst den Output in einer "for xxx in yyy do" Schleife und schreibt ihn "am Stück" in eine Outputdatei, also die Outputdatei wird nur ein mal auf- und zugemacht)

    fotolist = "$(ls *_f.jpg)"
    resultlist = []
    for foto in $fotolist
    do
    thumb = "$(echo $foto | sed "s/_f.jpg/_t.jpg/")"
    res = "TXT1" + foto + "TXT2" + thumb + "TXT3"
    resultlist.append(res)
    done
    print resultlist > output.html

    Methode 3 - mein erster Script (jede einzelne Outputzeile, ermittelt in einer "for xxx in yyy do" Schleife wird direkt in eine Outputdatei - also die Outputdatei wird mehrmals, pro Output-Zeile auf- und zugemacht)

    fotolist= "$(ls *_f.jpg)"
    for foto in $fotolist
    do
    thumb="$(echo $foto | sed "s/_f.jpg/_t.jpg/")"
    echo TXT1 $foto TXT2 $thumb TXT3 >> output.html
    done

    Habe ich das richtig verstanden?

    Und noch eine Frage. Ich habe den Script als create_code.sh benannt und in dem Foto-Verzeichnis gespeichert.
    Was muss ich tun, damit ich ihn per Doppelcklick aus dem Finder starten kann? Zur Zeit wird er dabei in Texteditor geöffnet und zum Starten muß ich Terminal öffnen.
    Geändert von Mister Cool (27.01.2012 um 09:51 Uhr)

  2. #12
    Galloway Pepping Avatar von fyysh
    Registriert
    01.2010
    Ort
    Rheinknie
    Alter
    33
    Beiträge
    1.348
    Ich würd's so machen:
    Code:
    #!/bin/bash
    
    SRC_PATH=${1:-$(dirname "$0")}
    OUT_FILE="out.txt"
    TEXT_1='<td style="vertical-align: middle; height: 140px; width: 200px; text-align: center;"><a class="fancybox-effects-a" href="../images/'
    TEXT_2='" data-fancybox-group="gallery2" ><img src="../images/'
    TEXT_3='" alt=""></a></td>'
    
    
    find "$SRC_PATH" -maxdepth 1 -type f -name '*_f.jpg' -exec basename '{}' \;| \
    while read file
    do 
    echo "$TEXT_1 $file $TEXT_2 $(echo $file|awk '{sub(/_f\./,"_t.");print}') $TEXT_3"
    done > "$SRC_PATH/$OUT_FILE"
    So könnte man das Script irgendwo speichern und es mit einem Pfad als argument ausführen, z.b.
    Code:
    ./dasscript.sh /pfad/der/fotos
    Es erstellt dann OUT_FILE in /pfad/der/fotos

    Oder, um deine letzte Frage zu beantworten, du kopierst es eben in /pfad/der/fotos, nennst es nicht "script.sh" sondern "script.command" und doppelklickst es aus dem Finder.
    The cause of the problem is:
    Don't worry; it's been deprecated.
    The new one is worse.

  3. #13
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    Herzlichen Dank!!

    das werde ich gleich ausprobieren

  4. #14
    Fießers Erstling
    Themenstarter

    Registriert
    01.2012
    Beiträge
    130
    Hi,

    inwischen macht mein Script alles was ich brauche und kann per doppelklick aus dem Finder gestartet werden, hat allerdings einen kleinen Schönheitsfehler - nach der Ausführung bleibt das Terminalfester offen, und nach jedem Doppelklick kommt ein neues Fenster dazu.
    Wie kann ich das System dazu veranlassen, nach der Ausführung des Skripts das Terminalfenster wiederzuschliessen?

  5. #15
    Galloway Pepping Avatar von fyysh
    Registriert
    01.2010
    Ort
    Rheinknie
    Alter
    33
    Beiträge
    1.348
    Hmm dann mit AppleScript.

    Mall schnell zusammengesponnen (ginge natürlich eleganter... ^^):
    Code:
    property TEXT1 : "<td style=\"vertical-align: middle; height: 140px; width: 200px; text-align: center;\"><a class=\"fancybox-effects-a\" href=\"../images/"
    property TEXT2 : "\" data-fancybox-group=\"gallery2\" ><img src=\"../images/"
    property TEXT3 : "\" alt=\"\"></a></td>"
    
    
    property findMask : "*_f.jpg"
    
    
    set srcPath to choose folder with prompt "Ordner auswählen" with multiple selections allowed
    
    
    repeat with aFolder in srcPath
        repeat 1 times --fake continue        
            --liste mit den files restellen
            set scFiles to paragraphs of (do shell script ¬
                "find " & quoted form of (POSIX path of aFolder) & " -maxdepth 1 -type f -name '" & findMask & "' -exec basename '{}' \\;")
            
            --überprüfen ob was gefunden wurde, wenn nicht fake continue
            if (count of scFiles) < 1 then
                display alert "Keine Dateien gefunden!" message "Pfad: " & POSIX path of aFolder & return & "Maske: " & findMask as warning
                exit repeat --das ist fake continue
            end if
            
            --ausgabedatei erfragen
            set outFile to ¬
                (choose file name with prompt "Ausgabedatei angeben für Ergebnisse aus" & return & POSIX path of aFolder default name "out.txt" default location aFolder)
            -- gibt einen alias zurück
            
            --outlist erstellen
            set outList to {}
            repeat with aFileName in scFiles
                set outList to outList & ¬
                    (TEXT1 & aFileName & TEXT2 & (do shell script "echo " & aFileName & "|awk '{sub(/_f\\./,\"_t.\");print}'") & TEXT3)
            end repeat
            
            --ergebnisse in datei outFile schreiben
            try
                open for access outFile with write permission
                set oATID to AppleScript's text item delimiters
                set AppleScript's text item delimiters to return
                write (outList as string) to outFile
                set AppleScript's text item delimiters to oATID
                close access outFile
            on error e
                try
                    close access outFile
                end try
                display alert "Fehler beim bearbeiten von" & return & POSIX path of aFolder message e buttons {"Abbrechen", "Weiter"} cancel button 1 as warning
            end try
        end repeat
    end repeat
    
    
    display alert "Feddsch!" buttons {"OK"} as informational
    Das Ganze als App gespeichert und ab dafür.
    The cause of the problem is:
    Don't worry; it's been deprecated.
    The new one is worse.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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