Convert > Verzeichnis erst. > packen (aber wie?)

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von M.tensor, 24.08.2006.

  1. #1 M.tensor, 24.08.2006
    M.tensor

    M.tensor Grünschnabel

    Dabei seit:
    24.08.2006
    Beiträge:
    8
    Zustimmungen:
    0
    Moin liebe Leute,

    habe folgendes Problem:
    Ich brauche eine zip-Datein, die konvertierte Bilder enhält um diese auf meine Seite zu laden. Ich möchte mit einem Script
    1. bilder mittels convert, konvertieren
    2. in ein Verzeichnis verschieben (am besten ist der Verzechnisname das Datum+ Uhrzeit)
    3. diese Bilder, die in dem neuen Verzeichnis sind, mit zip zu einem Packet schnüren.

    Ich habe schon ein script fertig, aber ich hänge noch an Punkt 2. und 3. (s. Code)
    Code:
    #!/bin/bash
    # conv2net
    echo "------Starte Imageoptimierung für das Web-------"
    echo "---Dieser Prozess kann wenige Minuten dauern----"
    for i in *.jpg;
    do convert $i -scale 800 -quality 75  /Netimage/DatumUhrzeit/net`basename $i .jpg`.jpg;
    
    
      echo "net`basename $i .jpg`"
      done
    
    echo "----Prozess beendet!-------"
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 phrenicus, 24.08.2006
    phrenicus

    phrenicus Routinier

    Dabei seit:
    24.05.2006
    Beiträge:
    253
    Zustimmungen:
    0
    Ort:
    Tübingen, Germany
    Hallo,

    zu 2.: date kann man Argumente mitgeben:

    Code:
    /Netimage/`date +%F-%R`/net`basename $i .jpg
    
    man date

    zu 3.: man zip

    Code:
    zip file.zip /NetImage/*
    Gruß
     
  4. #3 M.tensor, 24.08.2006
    M.tensor

    M.tensor Grünschnabel

    Dabei seit:
    24.08.2006
    Beiträge:
    8
    Zustimmungen:
    0
    Danke für die schnelle Antwort

    Habe etwas falsch gemacht.:hilfe2: Es erscheint folgende Fehlermeldung:

    ------Starte Imageoptimierung für das Web-------
    ---Dieser Prozess kann wenige Minuten dauern----
    convert: unable to open image `/home/****/Netimage/2006-08-24-15:01/net100_4821.jpg': No such file or directory.
    net100_4821
    zip warning: name not matched: /NetImage/*

    zip error: Nothing to do! (file.zip)
    convert: unable to open image `/home/****/Netimage/2006-08-24-15:01/net100_4822.jpg': No such file or directory.
    net100_4822
    zip warning: name not matched: /NetImage/*

    Mein Code sieht nun so aus:
    Code:
    #!/bin/bash
    # conv2net
    echo "------Starte Imageoptimierung für das Web-------"
    echo "---Dieser Prozess kann wenige Minuten dauern----"
    for i in *.jpg;
    do convert $i -scale 800 -quality 75  ~/Netimage/`date +%F-%R`/net`basename $i .jpg`.jpg;
    
    
      echo "net`basename $i .jpg`"
      zip file.zip /NetImage/*
      done
    echo "----Prozess beendet!-------"
    
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Du musst wahrscheinlich erstmal das Verzeichis ~/Netimage/`date +%F-%R`anlegen.

    Was bezweckst Du eigentlich mit `basename $i .jpg`.jpg?

    Gruss, Xanti
     
  6. #5 M.tensor, 24.08.2006
    M.tensor

    M.tensor Grünschnabel

    Dabei seit:
    24.08.2006
    Beiträge:
    8
    Zustimmungen:
    0
    Mit diesem Befehl sorge ich dafür das aus z.B. 100_4829.jpg nach der Konvertierung
    net100_4829.jpg wird.
    Um genau zu sein, heißt es
    Code:
    ...../net`basename $i .jpg`.jpg;
    Das mit dem vorher anlegen ist ein guter Vorschlag gewesen. Jetzt befinden sich zumindest die konvertierten Datein im richtigen Ordner.
    Jetzt fehlt nur noch der Zip-Befehl in meinem Script:

    Code:
    #!/bin/bash
    # conv2net
    mkdir ~/Netimage/`date +%F-%R` 
    echo "---START RESIZING---"
    echo "this may take some time"
    for i in *.jpg;
    do convert $i -scale 800 -quality 75 ~/Netimage/`date +%F-%R`/net`basename $i .jpg`.jpg;
    
    echo "net`basename $i .jpg`"
    done
      
    echo "---RESIZING FINISHED---"
    Danke für eure Unterstützung

    Gruß, Steven
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Dasselbe tut auch:

    Code:
    ...../net`basename $i`
    Warum einfach, wenns auch umständlich geht ;)

    Dazu kam der Tipp schon von phrenicus. Ich würde Dir ausserdem raten, ~/Netimage/`date +%F-%R` in einer Variable zwischen zu speichern, da Du sonst Zeit-Probleme bekommst.

    In der Art:

    Code:
    targetdir=~/Netimage/`date +%F-%R`
    ...
    mkdir $targetdir
    ...
    
     
  9. #7 Wolfgang, 24.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Zum Zip solltest du mal in deine Manpage von zip schauen.
    Da gibt es Unterschiede in der Syntax.
    Das hatten wir hier schon mal.
    Der Hinweis von Xanti zum date ist nicht trivial.
    Generell sollte der Returnwert von date in einer Variablen gespeichert werden.
    Wird es in Dateinamen oder Verzeichnisnamen verwertet, ist auch ein Test auf eine bestehende Datei ratsam.


    Gruß Wolfgang
     
Thema:

Convert > Verzeichnis erst. > packen (aber wie?)

Die Seite wird geladen...

Convert > Verzeichnis erst. > packen (aber wie?) - Ähnliche Themen

  1. Soundconverter

    Soundconverter: Hallo ich habe Centos 7.2-15.11 Ich möchte den Soundconverter installieren und weiss nich wie das geht. Wie kann man den Soundconverter in Centos...
  2. mit makefile bilder convertieren (ImageMagick)

    mit makefile bilder convertieren (ImageMagick): Hi, ich würde gern mit einer Makefile alle Bilder in ein bestimmtes format konvertieren. Zum konvertieren möchte ich ImageMagick benutzen. Das...
  3. Converter für Binär, Oktal, Dezimal und Hexal

    Converter für Binär, Oktal, Dezimal und Hexal: Moin, ich bereite mich zur Zeit auf meine Prüfungen für die Uni vor und da habe ich einen kleinen Converter geschrieben, der die Zahlen...
  4. Pro-Linux: Convertible Classmate PC im Test

    Pro-Linux: Convertible Classmate PC im Test: Pro-Linux präsentiert Ihnen heute einen Test des Convertible Classmate PC in der dritten Generation. Weiterlesen...
  5. C++ -> Java converter für Linux

    C++ -> Java converter für Linux: Hallo erstmal, ich habe eine kleine Konsolen-Anwendung in C++ geschrieben und nun hat ein Freund mich gefragt, ob ich die nicht auch für's...