Χρειάστηκα προ λίγων ημερών ένα script για να κάνω μαζική μετονομασία αρχείων βάσει άλλων αρχείων. Πιο συγκεκριμένα, ήθελα να μετονομάσω τα αρχεία των υποτίτλων μιας σειράς (πολλές σεζόν) βάσει των ονομάτων των αρχείων video ώστε να τους βρίσκει και να τους φορτώνει αυτόματα το πρόγραμμα αναπαραγωγής. Τελικά κατέληξα στο παρακάτω script :
#!/bin/sh
echo "Creating lists..."
ls -1 .. | grep avi > avi
ls -1 *.srt > srt
count=`wc -l avi | sed 's/avi//'`
echo "$count files"
echo "Renaming srt files..."
for i in `seq 1 $count`
do
from=`cat srt | head -n $i | tail -n 1`
to=`cat avi | head -n $i | tail -n 1 | sed 's/avi/srt/'`
echo "Renaming $from -to- $to"
mv "$from" "$to"
done
Επεξήγηση :