Dateien/Festplatte

Ekkart Kleinod  • 

Dateien durchnumerieren

Manchmal möchte man Dateien durchnumerieren, meist im Zusammenhang mit Bildern. Ich habe drei Programme dafür gefunden: Double Commander, gnome commander und krename.

Der Double Commander ist für Linux und Windows verfügbar und kann passabel umbenennen. Dazu die Dateien markieren und über Strg+m den Umbenennungsassistenten aufrufen. Oft genutzte Muster sollte man sich abspeichern, das ist im Umbenennen-Dialog möglich.

Der gnome commander ist gleich mächtig, den gibt es aber nur für Linux.

Unter KDE ist eventuell krename die bessere Alternative, das Programm bedient sich gut und ist selbsterklärend.

Tip: Für das Umsortieren Bilder in Zehnerschritten numerieren (Zähler hochzählen, nach Zähler "0_" anhängen), dann hat man mehr Spielraum zum Umbenennen.

Dateinamen ändern, kürzen, umsortieren

Auch hier empfehle ich den Double Commander, mit dem Umbenennen einfach (und sicher) ist. Er bietet auch an, EXIF-Informationen oder andere Dateiinformationen zum Umbenennen zu verwenden. Oft ist die Nutzung des Dateidatums aber genauso korrekt und etwas einfacher. Ein bewährtes Schema zur Benennung von Fotos:

jjjj-mm-tt_###_beschreibung.jpg

Im Double Commander wäre der Dateiname dann

[YYYY]-[MM]-[DD]_[C]_beschreibung

Und für die Dateiendung bleibt man bei

[E]

und wählt lowercase für die Umwandlung in Kleinbuchstaben aus.

Wer die Kommandozeile bevorzugt, kann auch das Werkzeug rename benutzen. Wichtigster Schalter ist --no-act, denn so zeigt das Programm an, was es tut, bevor es tatsächlich umbenennt. Alle folgenden Beispiele sind mit --no-act angegeben, damit man sie kopieren und einsetzen kann, ohne etwas kaputt zu machen.

Der Schalter --verbose gibt aus, welche Dateien wie umbenannt wurden. rename arbeitet mit regulären Ausdrücken, ist also sehr mächtig, aber etwas komplizierter zu bedienen, wenn man reguläre Ausdrücke nicht kennt.

Beispiel, Problemdateien seien:

001_0010_20060810_Test_2134.JPG
002_2610_20060810_Zweite_6534.JPG

Dateiendung verbessern:

$> rename --no-act --verbose 's/JPG/jpg/' *.JPG
001_0010_20060810_Test_2134.JPG renamed as 001_0010_20060810_Test_2134.jpg
002_2610_20060810_Zweite_6534.JPG renamed as 002_2610_20060810_Zweite_6534.jpg

Zweite Nummer entfernen (4 Zahlen zwischen zwei "_"):

$> rename --no-act --verbose 's/_[0-9]{4}_/_/' *.jpg
001_0010_20060810_Test_2134.jpg renamed as 001_20060810_Test_2134.jpg
002_2610_20060810_Zweite_6534.jpg renamed as 002_20060810_Zweite_6534.jpg

Letzte Nummer entfernen (4 Zahlen zwischen "_" und "."):

$> rename --no-act --verbose 's/_[0-9]{4}[\.]/./' *.jpg
001_20060810_Test_2134.jpg renamed as 001_20060810_Test.jpg
002_20060810_Zweite_6534.jpg renamed as 002_20060810_Zweite.jpg

Datum korrekt formatieren (8 Zahlen mit "-" trennen und als T-M-J schreiben):

$> rename --no-act --verbose 's/([0-9]{4})([0-9]{2})([0-9]{2})/$3-$2-$1/' *.jpg
001_20060810_Test.jpg renamed as 001_10-08-2006_Test.jpg
002_20060810_Zweite.jpg renamed as 002_10-08-2006_Zweite.jpg

Datum (unformatiert) nach hinten schieben (8 Zahlen, die mit "_" beginnen nach hinten (vor ".jpg") schieben):

$> rename --no-act --verbose 's/(_[0-9]{8})(.*)\.jpg$/$2$1\.jpg/' *.jpg
001_20060810_Test.jpg renamed as 001_Test_20060810.jpg
002_20060810_Zweite.jpg renamed as 002_Zweite_20060810.jpg

Datum (formatiert) nach hinten schieben (Datum in T-M-J, das mit "_" beginnt nach hinten (vor ".jpg") schieben):

$> rename --no-act --verbose 's/(_[0-9]{2}-[0-9]{2}-[0-9]{4})(.*)\.jpg$/$2$1\.jpg/' *.jpg
001_10-08-2006_Test.jpg renamed as 001_Test_10-08-2006.jpg
002_10-08-2006_Zweite.jpg renamed as 002_Zweite_10-08-2006.jpg

Festplatten unwiederruflich löschen

Geht ganz einfach, indem man die entsprechende Festplatte mit Nullen füllt (Festplatte heraussuchen und statt hda eintragen, derzeit wohl sd*, ändert sich ab und an):

$> dd if=/dev/zero of=/dev/hda bs=64k

Dauert aber sehr lange.

Heraussuchen geht einfach über Laufwerkverwaltung (Ubuntu), dort kann man die Festplatte auch formatieren und dabei mit Nullen überschreiben, ist etwas komfortabler.

Text in Dateien finden

mit xargs. Ein Tip von Liam Delahunty. Schalter:

  • -s = Zusammenfassung zeigen, also keine Warnungen
  • -l = nur Dateiname, der gefunden wurde, nicht alle Fundstellen
$> find . | xargs grep 'suchtext' -sl

Variationen:

$> find . -name "*.tex" | xargs grep 'suchtext' -sl