Bilder fortlaufen nummerieren

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Badtrain, 08.08.2007.

  1. #1 Badtrain, 08.08.2007
    Badtrain

    Badtrain Grünschnabel

    Dabei seit:
    08.08.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo.
    Ich hab den Forum schon nach diesem Thema durchgesucht. Hab aus verschiedenen Varianten ein script zusammengebaut, der bei mir ums verrecken nicht funktioniert.

    Ich möchte meine bilder dsc07373.jpg , dsc07374.jpg , dsc07375.jpg u.s.w
    wie folgt umbenennen: 0001.jpg, 0002.jpg, 0003.jpg u.s.w

    Das ist der script rename.sh:

    Code:
    #!/bin/bash
    
    i=1
    for File in "*.jpg";
    do
    i=$((i+1));# Hohzählen
    mv $File 000$i.jpg
    done
    
    Beim Aufruf bekomme ich folgende Fehlermeldung:

    Wenn ich in folgender Zeile den Inhalt in Klammer setze:

    Code:
    mv "$File" "000$i.jpg"
    Bekomme ich folgende Fehlermeldung:

    Was mach ich da Falsch ? Bin ein ziemlicher Anfänger und bin mit Debian unterwegs. Ich hoffe ihr könnt mir helfen.
    Bitte kein neues scritp vorschlagen, sondern den ich vorgegeben hab abändern, wenns möglich ist. So kann ichs besser lernen.
     
  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. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Ich hab mir dazu damals dieses kleine Rubyskript geschrieben:
    Code:
    #!/usr/bin/ruby
    
    require 'optparse'
    Version = "0.9"
    prefix = String.new
    
    ARGV.options do |o|
            o.banner = "rename.rb [options] files"
            o.separator "renames files in the scheme: prefix_cnt.extension."
            o.separator "if no prefix is given, the scheme is cnt.extension."
            o.separator "existing files are overwritten."
            o.separator ""
    
            o.on '-p', '--prefix [PREFIX]', 'Prefix' do |pre|
                    prefix = pre + "_"
            end
    
            o.on("-h", "--help", "This help" ) do
        puts o
        exit
      end  
       
      o.on_tail("--version", "Show version") do
       puts o.ver
       puts "Written by Johannes Held"
       puts ""
       puts "Copyright (C) 2007"
       puts "This is free software; see the source for copying conditions."
       puts "There is NO warranty; not even for MERCHANTABILITY or" 
       puts "FITNESS FOR A PARTICULAR PURPOSE."
       exit
     end 
    end
    
    begin
      ARGV.parse!
      
            if ARGV.size < 10
                    renstr = "%s/%s%d%s"
            elsif ARGV.size < 100
                    renstr = "%s/%s%.2d%s"
            elsif ARGV.size < 1000
                    renstr = "%s/%s%.3d%s"
            else
                    renstr = "%s/%s%.4d%s"
            end
    
            base = ""
            newname = ""
            cnt = 0
            ARGV.each do |fil|
                    base = File.dirname fil
                    newname = sprintf(renstr, base, prefix, cnt, File.extname(fil).downcase)
                    File.rename(fil, newname)
                    cnt += 1
            end
    rescue => exc
      STDERR.puts "E: #{exc.message}"
      STDERR.puts ARGV.options
      exit 1
    end
    
    ./rename.rb --help

    Aber versuch es doch mal mit "for i in *.jpg"
     
  4. #3 NoXqs, 08.08.2007
    Zuletzt bearbeitet: 08.08.2007
    NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Code:
    #!/bin/bash
    
    i=1
    for File in $(ls *.jpg)
    do
    mv ${File} 000${i}.jpg
    i=$((i+1));# Hochzählen
    done
    
     
  5. #4 Schneemann, 08.08.2007
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    Code:
    KRename
    für nicht-KDE-System gibst bestimmt auch so gute Lösungen.
     
  6. #5 Badtrain, 08.08.2007
    Badtrain

    Badtrain Grünschnabel

    Dabei seit:
    08.08.2007
    Beiträge:
    3
    Zustimmungen:
    0
    WOW. Vielen Dank. Es funktioniert ! :D

    Hab das ganze jetzt einwenig erweitert.
    Die Bilder werden jetzt wiefolgt umbenannt:

    001.jpg
    002.jpg
    003.jpg
    ...
    010.jpg
    011.jpg

    Also ab 10 verschwindet eine Null u.s.w.
    Ist bei manchen PHP Bildergallerien hilfreich.

    Code:
    #!/bin/bash
    
    i="1"
    for File in $(ls *.jpg)
    do
      if test ${i} -ge 100
        then mv ${File} ${i}.jpg
      elif test ${i} -ge 10
        then mv ${File} 0${i}.jpg
      else mv ${File} 00${i}.jpg
      fi
      i=$((i+1));# Hohzählen
    done
    
     
  7. #6 Wolfgang, 08.08.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst auch printf verwenden.
    Code:
    i=0;
    for File in $(ls *.jpg)
    do
    ((i++));
    mv $File $(printf "%04d.jpg " $i);
    done
    
    Das funktioniert hier bis 4 Stellen
    Gruß Wolfgang
     
  8. #7 Badtrain, 08.08.2007
    Badtrain

    Badtrain Grünschnabel

    Dabei seit:
    08.08.2007
    Beiträge:
    3
    Zustimmungen:
    0
    Wahnsinn wieviele möglichkeiten es gibt.
    Des ist ja noch schlanker. Dankeschön ;)
     
  9. #8 smg, 08.08.2007
    Zuletzt bearbeitet: 08.08.2007
    smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Code:
    perl -e 'system("mv ".quotemeta($_)." ".++$x.".jpg") for <*.jpg>'
    Code:
    count=1
    for file in *jpg; do mv "$file" "$((count++)).jpg"; done
     
  10. Anzeige

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

    NilsG Grünschnabel

    Dabei seit:
    27.07.2012
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen ...

    Ich möchte mich hier mal einklinken!

    Ich stehe vor der gleichen Aufgabenstellung und bekomme es einfach nicht gebacken ... :(
    Die halbe Nacht habe ich mit den o.g. Scripts probiert und es klappt einfach nicht!

    Also, ich habe und möchte:

    * Files von meiner Webcam in einem Order "www/automower-webcam.com/UploadsOnBoard"
    * Die Files haben folgende Bezeichnung "Alarm_2012-07-13_20-53-53_203.jpg"
    * Es sind rund 2.500 file
    * sie sollen per CronJob umbenannt werden in "Alarm0001.jpg" bis "Alarm2500.jpg"; natürlich in der richtigen Reihenfolge (siehe oben der Zeitstempel in den Filenamen!)
    * entweder im gleichen Ordner, dann verschiebe ich sie im nächsten CronJob in einen neuen Ordner
    * oder im gleichen Atemzug fertig umbenannt in einen neuen Ordner VERSCHOBEN werden

    Hintergrund:
    ffmpeg soll dann per CronJob daraus einen Film machen und benötigt fortlaufend nummerierte Dateinamen!

    Vielen, vielen Danke!

    Ich checks nicht, sorry! ;)

    Nils
     
  12. NilsG

    NilsG Grünschnabel

    Dabei seit:
    27.07.2012
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen ...

    Nach weiteren Stunden, hatte ich heute die Eingebung ;)
    Ich habe endlich herausgefunden wo meine richtigen Pfadangaben hin müssen ...
    War mir in den Script-Schnipseln nie klar :hilfe2: :think:

    Aber nun ...! :brav:

     
Thema: Bilder fortlaufen nummerieren
Besucher kamen mit folgenden Suchen
  1. bash fortlaufend nummerieren script

    ,
  2. linux dateien nummerieren

    ,
  3. linux mint dateien durchnumerieren

    ,
  4. dateien umbenennen linux bash
Die Seite wird geladen...

Bilder fortlaufen nummerieren - Ähnliche Themen

  1. WordPress 4.4 »Clifford« passt Bilder automatisch an

    WordPress 4.4 »Clifford« passt Bilder automatisch an: Die Wordpress-Entwickler haben ihre freie Blog-Software in der Version 4.4 veröffentlicht. Der Namensgeber dieser Version ist der 1956 verstorbene...
  2. Darktable 1.6 unterstützt riesige Bilder

    Darktable 1.6 unterstützt riesige Bilder: Die virtuelle Leuchttisch- und Dunkelkammer-Anwendung Darktable ist in der Version 1.6 erschienen. Die Software möchte Fotografen bei ihrer Arbeit...
  3. Canonical anonymisiert Dash-Suchbilder

    Canonical anonymisiert Dash-Suchbilder: Wie David Callé in einer kurzen Mitteilung bekannt gab, wird bereits die kommende Version von Ubuntu die über das Dash abgesetzten Suchanfragen...
  4. Artikel: PNG-Bilder (automatisch) optimieren

    Artikel: PNG-Bilder (automatisch) optimieren: Eine Frage, die man sich bei der Überschrift stellen könnte, ist: »Sind meine Bilder nicht optimal?« Die Antwort ist, dass alles eine Frage der...
  5. 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...