moonwalker3 schrieb:
Ich möchte in einem Verzeichnis mit vielen Dateien per file den Dateityp herauslesen und dann die Dateiendung dementsprechend anpassen.
So generell würde ich das nicht machen. Wenn dann nur beschränkt auf bestimmte Dateitypen.
Z.B. sollen alles jpg-Dateien auf jpg enden, etc. Gibt es dafür schon Skripte. Bisher habe ich ein sehr einfaches erstellt, das nur den Dateityp anzeigt:
| for i in *;do file $i;done
|
Das Beispiel könntest du für deinen JPEG-Anwendungsfall so anpassen:
$ for i in *
> do
> file "$i" | grep JPEG >/dev/null 2>&1
> [ $? -eq 0 ] && rename "s/\.[^.]*$/.jpg/" "$i"
> done
Das Beispiel entfernt eine eventuell vorhandene Dateiendung und setzt .jpg ein.
Bitte beachte auch den Skripting-Guide für Anfänger und dort besonders das Quoting.