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!
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
ist dann die Ausgabe nicht *.m2p?
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
Danke. Werde morgen testen
@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.
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#'); doneAchtung: 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. :)
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!