Siduction Forum

Siduction Forum => Experimental => Topic started by: Lanzi on 2010/12/09, 20:19:56

Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: Lanzi on 2010/12/09, 20:19:56
Hallo zusammen,
vermutlich trivial. Ich denke mal mit Mv gehts. Aber ich weiß nicht wie ich es in eine Zeile packen soll. Vlt. kann jemand helfen.

Zur Lage. Ich habe auf der Festplatte viele Filme vom VDR und habe diese mit projekt X in einzelene *.m2p konvertiert.
ich möchte sie nun als *.mpg dateien auf einen USB-Abspieler kopieren. m2p versteht dieser vermutlich nicht.

Da ich die Filme (es handelt sich um Dokus) in verschiedenen Odrnern sortiert habe und auch einzelen benannt habe, möchte ich das dieses erhalten bliebt.

Möglichkeit A:
eine komplette Kopie aller Dateien nur mit neuer Endung

Möglichkeit B:
Umbenennen aller Dateien innerhalb der alten Struktur.

Allerdings nur die *.m2p. Avis sollen nach Möglichkeit nicht angerührt werden.

Danke!
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: mork on 2010/12/09, 20:38:42
rename sollte B) eigentlich ganz wunderbar erledigen.

Aus der manpage:
to rename all files matching "*.bak" to strip the extension, you might say
     
              rename 's/\.bak$//' *.bak

To translate uppercase names to lower, you'd use

              rename 'y/A-Z/a-z/' *

vielleicht also:
rename -v 'y/m2p/mpg/' *.m2p

viel Erfolg,
mork
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: Lanzi on 2010/12/09, 21:13:22
ist dann die Ausgabe nicht *.m2p?
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: mork on 2010/12/09, 21:38:46
nö, eigentlich sollten alle Dateien, die auf *.m2p enden *.mpg-Endungen erhalten.

Mit *.m2p sollten nur *.m2p-Dateien umbenannt werden

Am besten ist es aber wenn Du einen kleinen Testlauf machst bevor es ernst wird... Vielleicht in einem Testverzeichnis mit Testdateien wie test1.m2p, test2.m2p, test3.avi

Viel Spaß,
mork
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: Lanzi on 2010/12/09, 23:47:50
Danke. Werde morgen testen
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: bluelupo on 2010/12/10, 08:36:57
@Lanzi: die Dateiendung unter Linux ist nicht relevant, da die Dateien am Header erkannt werden. Das kannst mit dem Kommando "file <dateiname>" überprüfen. Wenn dort der Typ mpg vermerkt ist passt es.
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: DonKult on 2010/12/10, 11:08:08
Quote from: "bluelupo"@Lanzi: die Dateiendung unter Linux ist nicht relevant, da die Dateien am Header erkannt werden. Das kannst mit dem Kommando "file <dateiname>" überprüfen. Wenn dort der Typ mpg vermerkt ist passt es.

Die Frage ist nur ob das der "USB Abspieler" (was auch immer das ist) auch weiß. ;)

Die rename Methode ist sicherlich einfacher, von der Theorie her sollte aber in etwa dieses ausgeführt werden:
for video in $(find . -name '*.m2p' -type f); do mv $video $(echo $video | sed 's#.m2p$#.mpg#'); done
Achtung: Das ist Anschauungsmaterial, ich bin mir recht sicher, dass dieser kleine Codeschnippsel Anfälle bekommt wenn Leer- oder sonstige Sonderzeichen im Dateinamen vorkommen!

Die Aktion wäre übrigens bedeutend einfacher wenn man die Dateiendungen nicht austauchen will, sondern einfach anhängen würde:
find . -name '*.m2p' -type f -exec mv '{}' '{}.mpg' \;

find ist im Allgemeinen sehr nützlich wenn man mit Dateien arbeitet - ein reinschauen in die manpage lohnt sich. :)
Title: wie kann ich alle Dateien einer best. Endung umbenennen?
Post by: Lanzi on 2010/12/11, 17:08:07
ja, der USB Abspieler ist von iomega "Screen player Plus - HE Media Player".
Ist mit fat formatiert. Das heißt mit Sonderzeichen gibts sicher auch Pronbleme.
Freizeichen habe ich übrigens manchmal in den Namen drin.

Ein ANhängen der Endung mpg wäre vermutlich das einfachste!