リストに基づいてファイル名を変更する

リストに基づいてファイル名を変更する

私はこれらのビデオファイルを持っています。

Fringe.S03E01.mkv 
Fringe.S03E02.mkv 
Fringe.S03E03.mkv 
etc...

エピソードのタイトルを含む.csvテキストファイルもあります。

01,Olivia
02,The Box
03,The Plateau
etc...

私が達成したいことは。

Fringe.S03E01.Olivia.mkv
Fringe.S03E02.The Box.mkv
Fringe.S03E03.The Plateau.mkv
etc...

私はforeachを使ってbashスクリプトの構文を見つけようとしましたが、利用可能な結果は得られませんでした。

ベストアンサー1

fringe_copy(){
        local IFS=,
        while read num title; do
                f=Fringe.S03E$num.mkv
                if [ -f "$f" ]; then
                        echo mv "$f" "${f%.mkv}.$title.mkv"
                fi
        done
}
fringe_copy <list_of_files

体験版の実行に満足している場合は、echo以前のコンテンツを削除する必要があります。mv

おすすめ記事