リストを使用したファイル名の変更

リストを使用したファイル名の変更

私のディレクトリに利用可能なファイルがあります。

filename15_1
filename15_2
filename15_3
filename15_4

など。

ファイル名の変更方法に関するマッピング情報を含む他のファイルがあります。これはCSVファイルです。

filename15_1,filename30_6
filename15_2,filename30_7
filename15_3,filename60_3
filename15_4,filename60_4
filename15_5,filename60_5
filename15_6,filename60_6

上記のマッピングを読んでこの4つのファイルの名前を変更したいと思います。マップファイルには、ディレクトリ内の実際のファイルよりも多くの情報があります。

私のファイルの名前を次のように変更する必要があります。

filename30_6
filename30_7
filename60_3
filename60_4

どうすればいいですか?

注:私はデータベースの背景を持つ人であり、Unixについて知っていることはほとんどありません。

ベストアンサー1

マッピングファイルがコンマで区切られている場合は、次のことができます。

while IFS=, read orig target; do
    mv "$orig" "$target"
done < mapping.txt

おすすめ記事