Dateien zufällig unter Linux benennen

Ich möchte einen Digitalen Bilderrahmen nutzen. Die Bilder sollen (Pseudo)zufällig angezeigt werden – zumindest sollen sie nicht fast gleich wiederholt werden, so wie der Bilderrahmen es leider macht. Deswegen dachte ich mir: warum nicht die Bilder selber umbenennen und sie in der Reihenfolge abspielen lassen?

Dank Linux gibt es da ja einfache Wege. Den von mir schnell „zusammengebastelten“ mag ich kurz vorstellen.

  1. Der Bilderrahmen verwendet nur jpg Bilder, keine PNG’s, die ich auch hatte. Die mussten zuerst gewandelt werden:

    mogrify -format jpg *.png
  2. Leider sind ein paar Leerzeichen in mancher Bilddatei. Dies musste ich ändern:

    for file in *\ *; do mv „$file“ `echo $file | tr ‚ ‚ ‚_’` ; done
  3. Ich habe ein Verzeichnis für die Bilder erstellt:

    mkdir unsort
  4. Und dann das umsortieren:

    j=0;for i in $(ls *.j* *.J*|sort -R); do printf -v k „%04d“ $j; cp „$i“ „unsort/$k.jpg“;let j=$j+1;done

    ls *.j* *.J* hat den Zweck das nur alle Dateien mit Endungen mit kleinem UND großem J genommen werden.
    printf -v k „%04d“ $j dient zur Voranstellung von 0 en, so dass die Dateien z.B. 0052.jpg heißen.

Wenn jemand eine andere Lösung hat kann er mir sie gerne zukommen lassen 🙂

Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert