次のような名前の tiff ファイルがいくつかあります:
sw.001.tif
sw.002.tif
...
.tif
各ファイルの末尾にあるを削除したいのですが、rename
コマンドを使用してこれを行うにはどうすればよいですか?
答え1
perl
(rename
Debianでは とも呼ばれることが多いprename
)またはこの派生語( rename
Debian 上のパッケージ):
rename 's/\.tif$//' *.tif
util-linux
rename
(Red Hat、rename.ul
Debian で一般的に見られるもの):
rename -- .tif '' *.tif
(その名前blah.tiffany.tif
は に変更されることに注意してくださいblahfany.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
ドライランに使用します。