一行で Bash の複数の名前を変更: 可能ですか?

一行で Bash の複数の名前を変更: 可能ですか?

Bashを使用してすぐに名前を変更して交換できますか?たとえば、

  VTS_01_1.VOB  VTS_01_2.VOB  VTS_01_3.VOB

mencoderで使用するために名前を変更したいです。

movie_1.avi movie_2.avi,etc..

VTSの交換方法はわかりますが、VOBの交換方法はわかりません。

for i in  VTS_01_[1-4]*B;do echo ${i/VTS_0?_?.VOB/Movie}.avi;done

私に与える

Movie.avi
Movie.avi
Movie.avi
Movie.avi

私の考えでは

Movie_1.avi
Movie_2.avi
Movie_3.avi
Movie_4.avi

ベストアンサー1

2つのステップで実行できます。たとえば、最初に拡張子を削除してからVTS_01プレフィックスを置き換えます。

$ for i in VTS_01_[1-4]*B; do b="${i%.VOB}"; echo "${b/VTS_01/Movie}.avi"; done
Movie_1.avi
Movie_2.avi
Movie_3.avi

おすすめ記事