Je kunt in Excel twee kolommen met namen maken, de oude en de nieuwe naam, zoals hierboven (reactie #6) door Sypie uitgelegd. Daarna kun je de tabel exporteren naar CSV formaat. Je krijgt dan een tekstbestand (bv
tracks.csv) waarin de oude en nieuwe naam door een komma gescheiden zijn.
track1.1.wav,WNB5W00
track2.1.wav,WNB4T12
Vervolgens open je een teksteditor waarin je onderstaand shell-script zet:
while read line
do
OLD=`echo $line | cut -d, -f1`
NEW=`echo $line | cut -d, -f2`
EXT=`echo $OLD | sed '/\./s// /g' | awk '{print $NF}'`
NEW=$NEW"."$EXT
echo mv "$OLD" "$NEW"
if [ -f "$OLD" ]; then
mv "$OLD" "$NEW"
else
echo Bestand $OLD niet gevonden.
fi
done
Dit shell-script sla je op (bv
rename.sh) in de map waar de .wav bestanden staan.
Om het
uit te kunnen voeren dien je het eerst nog 'uitvoerbaar' te maken. Dat doe je zo:
chmod 755 rename.sh
Je kunt nu de inhoud van het .csv bestand gebruiken als input voor de rename:
cat tracks.csv | ./rename.sh
Hier kun je zien hoe je het shell-script uitvoert in de Terminal:
$ ls -al
total 16
drwxr-xr-x 4 puk1980 staff 128 Aug 3 12:55 .
drwx------+ 13 puk1980 staff 416 Aug 3 12:32 ..
-rwxr-xr-x 1 puk1980 staff 310 Aug 3 12:46 rename.sh
-rw-r--r--@ 1 puk1980 staff 43 Aug 3 12:33 tracks.csv
$ touch track1.1.wav track2.1.wav
$ cat tracks.csv | ./rename.sh
mv track1.1.wav WNB5W00.wav
mv track2.1.wav WNB4T12.wav
$ ls -al
total 16
drwxr-xr-x 6 puk1980 staff 192 Aug 3 12:56 .
drwx------+ 13 puk1980 staff 416 Aug 3 12:32 ..
-rw-r--r-- 1 puk1980 staff 0 Aug 3 12:56 WNB4T12.wav
-rw-r--r-- 1 puk1980 staff 0 Aug 3 12:56 WNB5W00.wav
-rwxr-xr-x 1 puk1980 staff 310 Aug 3 12:46 rename.sh
-rw-r--r--@ 1 puk1980 staff 43 Aug 3 12:33 tracks.csv