Wie benenne ich mehrere Dateien um, indem ich die Erweiterung entferne?

Wie benenne ich mehrere Dateien um, indem ich die Erweiterung entferne?

Ich habe eine Reihe von TIFF-Dateien mit den Namen:

sw.001.tif
sw.002.tif
...

.tifund ich möchte das am Ende jeder Datei entfernen . Wie kann ich den renameBefehl dazu verwenden?

Antwort1

perl's rename(wie es normalerweise bei Debian zu finden ist, wo es auch genannt wird prename) oderdieses Derivat( renamePaket unter Debian):

rename 's/\.tif$//' *.tif

util-linux rename(wie normalerweise bei Red Hat und rename.ulDebian zu finden):

rename -- .tif '' *.tif

(beachten Sie, dass dieses in umbenannt blah.tiffany.tifwürde blahfany.tif)

Antwort2

Wenn Sie keine Umbenennung vornehmen möchten, können Sie Folgendes tun:

$ for i in *.tif; do mv -i $i `basename $i .tif`; done

(-i, um vor dem Ersetzen einer Datei zu warnen)

Antwort3

rename -- .oldext .newext *.oldext

Dadurch wird die alte Erweiterung durch die neue ersetzt. Um die Erweiterung einfach zu entfernen, können Sie explizit eine leere Zeichenfolge als Argument übergeben.

rename -- .gz.tmp  '' *.gz.tmp

Mit dem obigen Befehl .gz.tmpwerden alle Dateien mit der Erweiterung im aktuellen Ordner in umbenannt filename.gz.

Siehe den Artikel:Linux: Dateierweiterungen für mehrere Dateien entfernenfür Details.

Antwort4

perl-rename 's/\.tif//' *.tif

-nFür den Trockenlauf verwenden .

verwandte Informationen