如何透過刪除副檔名來重新命名多個檔案?

如何透過刪除副檔名來重新命名多個檔案?

我有許多 tiff 文件,名為:

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

我想刪除.tif每個文件末尾的 。我如何使用該rename命令來執行此操作?

答案1

perlrename(通常在 Debian 上找到,也稱為prename),或者這個衍生品renameDebian 上的軟體包):

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

util-linux rename(通常在 Red Hat、rename.ulDebian 上找到):

rename -- .tif '' *.tif

(請注意,該名稱將重新命名blah.tiffany.tifblahfany.tif

答案2

對於非重命名,您可以這樣做:

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

(-i 警告不要替換文件)

答案3

rename -- .oldext .newext *.oldext

這會將舊擴充功能替換為新擴充功能。要簡單地刪除擴展,您可以明確傳遞一個空字串作為參數。

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

使用上述命令,.gz.tmp當前資料夾中所有副檔名的檔案都將重新命名為filename.gz.

參考文章:Linux:刪除多個檔案的檔案副檔名了解詳情。

答案4

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

用於-n試運行。

相關內容