newbull
Goto Top

Linux Shell - .JPG Dateien in .jpg umbenennen

Hallo,

ich habe das Problem das ich massenhaft .JPG Dateien habe, diese aber mit gleichem Dateinamen in .jpg umbenennen muss, da Linux exakt zwischen Groß- und Kleinschreibung unterscheidet.

Kann ich dies mit einem bestimmten Befehl auf der Shell machen?
Oder hat jemand zufällig ein kleines Script dafür?

Content-Key: 86424

Url: https://administrator.de/contentid/86424

Ausgedruckt am: 29.03.2024 um 14:03 Uhr

Mitglied: blueMamba
blueMamba 25.04.2008 um 16:03:11 Uhr
Goto Top
hmm?!

also das Lx GROß- und kleinschreibung unterscheidet ist ja richtig, doch habe ich bei Bildern noch nie ein Probl. damit gehabt.
Was willste denn mit der Umbenennung bezwecken?

Nautilus unter Gnome bei ubuntu z.B. erkennt Bilder nicht an der Endung sondern am Dateimuster, somit braucht man nix umzubenennen.
Du könntest anstatt eines .jpg sogar jp oder anderes dranhängen und's würde noch funktionieren.


hmm?!

Gruß
Mitglied: masterG
masterG 25.04.2008 um 16:33:59 Uhr
Goto Top
mv dateiname.JPG dateiname.jpg

masterG
Mitglied: 32067
32067 25.04.2008 um 17:12:38 Uhr
Goto Top
Wenn du mehrere Dateien in einem Ordner hast hilft die "rename", ich vergess nur immer in welchem Paket das ggf. drin ist face-sad

http://linux.die.net/man/1/rename

rename JPG jpg *.jpg

Wenn du jetzt mehrere Ordner hast mit find und der Option -execdir kombinieren, fertig.
Mitglied: newbull
newbull 26.04.2008 um 14:53:20 Uhr
Goto Top
Wenn du mehrere Dateien in einem Ordner hast
hilft die "rename", ich vergess nur
immer in welchem Paket das ggf. drin ist face-sad

http://linux.die.net/man/1/rename

rename JPG jpg *.jpg

Wenn du jetzt mehrere Ordner hast mit find
und der Option -execdir kombinieren, fertig.



Hallo,

vielen Dank für den Befehl, es hat jedoch keinerlei Änderung an den Dateiendungen gebracht.

Die Shell meldet keinen Fehler zurück, nach Absenden des Befehl wird einfach wieder die Eingabe angezeigt.
Mitglied: elias12
elias12 30.04.2008 um 16:24:55 Uhr
Goto Top
> Wenn du mehrere Dateien in einem Ordner
hast
> hilft die "rename", ich
vergess nur
> immer in welchem Paket das ggf. drin
ist face-sad
>
> http://linux.die.net/man/1/rename
>
> rename JPG jpg *.jpg
>
> Wenn du jetzt mehrere Ordner hast mit
find
> und der Option -execdir kombinieren,



fertig.
>
>
>
>

Hallo,

vielen Dank für den Befehl, es hat
jedoch keinerlei Änderung an den
Dateiendungen gebracht.

Die Shell meldet keinen Fehler zurück,
nach Absenden des Befehl wird einfach wieder
die Eingabe angezeigt.


Normalerweise erhälst Du bei Linux auch keine Meldung, die meisten Befehle sind non-interactive, daher sind diese teilweise auch brandgefährlich, z.B. als root einen rm -f -r / macht Dir OHNE Rückfrage die ganze Linux Installation auf einen Schlag platt

das hängt ganz davon ab, wie der Programmierer das im jeweiligen Programm vorgesehen hat


Wenn Du viel mit Dateien unter Linux arbeitest empfehle ich Dir wärmstens den Midnight Commander, der einerseits solche Sicherheitsabfragen (z.B. beim rekursiven Löschen eines ganzen Verzeichnisses etc) eingebaut hat und auch sonst noch viele nützliche Features bietet

Je nach Distribution findest Du den MC jeweils als Paket auf den CD's oder wenn Du den von Hand kompilieren möchtest, dann kannst Du denn auf www.google.de suchen
Mitglied: duddits
duddits 01.05.2008 um 12:47:13 Uhr
Goto Top
Hallo,

eigentlich wurde die Lösung schon weiter oben angegeben, mittels dem Kommando mv kannst du ganz einfach die Dateinamen ändern, so lange du ausreichende Rechte hast.

Um Beispielsweise im aktuellen Verzeichnis alle .JPG Dateien in .jpg Dateien umzubenennen reicht folgendes:
for file in *.JPG; do mv $file ${file%.*}.jpg; done

Wenn es sich nur um eine einzelne Datei handelt funktioniert auch ein:
mv datei.JPG datei.jpg


Willst du Beispielsweise alle Dateien in deinem Home-Verzeichnis solch einer Änderungen unterziehen, so könnte das wie folgt aussehen:
for file in `find $HOME -name "*.JPG" -print 2>/dev/null` ; do mv $file ${file%.*}.jpg; done

Gruß
Daniel
Mitglied: newbull
newbull 02.05.2008 um 17:13:02 Uhr
Goto Top
Hallo,

eigentlich wurde die Lösung schon
weiter oben angegeben, mittels dem Kommando
mv kannst du ganz einfach die Dateinamen
ändern, so lange du ausreichende Rechte
hast.

Um Beispielsweise im aktuellen Verzeichnis
alle .JPG Dateien in .jpg Dateien
umzubenennen reicht folgendes:
for file in *.JPG; do mv $file
${file%.*}.jpg; done

Wenn es sich nur um eine einzelne Datei
handelt funktioniert auch ein:
mv datei.JPG datei.jpg


Willst du Beispielsweise alle Dateien in
deinem Home-Verzeichnis solch einer
Änderungen unterziehen, so könnte
das wie folgt aussehen:
for file in `find $HOME -name
"*.JPG" -print 2>/dev/null` ; do
mv $file ${file%.*}.jpg; done

Gruß
Daniel

Und wenn ich diesen Befehl mit root-Rechten auf der Konsole eingebe müsste er mir alle Dateinamen in dem Ordner so belassen, nur eben aus dem großen .JPG am Ende ein kleines .jpg machen, oder muss ich dieses als .sh Script zusammen fassen?
Mitglied: softcake
softcake 06.05.2008 um 08:39:12 Uhr
Goto Top
je nach belieben... hast du des öfteren solche fälle, dann kannst du natürlich diese eine zeile auch in ein shell-script einfügen. ansonsten reicht es, wenn du dir den befehl aufschreibst, oder ihn dir merkst face-smile
der befehl wandelt keine kleinen 'jpg'-endungen um, sondern nur große 'JPG'. es sei denn, du willst natürlich alle kleinen wieder in große 'JPG' umwandeln'. dann mußt du das script eben kurz anpassen face-smile

gruß
dirk