複数のファイルがあり、すべて同様の命名パターンを持っています。たとえば、次のようになります。
{filename}.jpeg{random number}
.jpeg拡張子を持つようにこのファイルの名前を変更したいと思います。どうすればいいですか?
ベストアンサー1
Larry WallのPerlの名前変更がある場合
rename 's/[.]jpeg[0-9]*/.jpeg/' *.jpeg[0-9]*
Util-Linuxのみがある場合、名前の変更は機能しません。
Bashでforループを使用できます
for n in *.jpeg[0-9]*
do mv -i "$n" "${n%%.jpeg[0-9]*}.jpeg"
done
${var%%pattern}
は標準パラメータ拡張値に展開し、一致のvar
(最も長い)末尾の部分を削除しますpattern
。もしそうならn
、そうですfoo.jpeg123
。(原因かもしれません)${n%%.jpeg[0-9*}
foo
foo.jpeg1abc
foo