Este script deve fazer o trabalho para você. Certifique-se de mudá-lo de DEBUG para LIVE:
#!/bin/sh
list='ls *-file.txt | sort -n'
i=1
for f in $list
do
#DEBUG MODE
echo "mv $f $i-file.txt"
#LIVE MODE
#mv $f $i-file.txt
i=$(($i + 1))
done
E aqui está uma versão sem a extensão codificada:
#!/bin/sh
if [ -z $1 ]
then
echo "
You need to pass a prefix. For example:
${0##*/} -file.txt
"
exit 1
fi
list='ls *${1} | sort -n'
i=1
for f in $list
do
#DEBUG MODE
echo "mv $f ${i}${1}"
#LIVE MODE
#mv $f ${i}${1}
i=$(($i + 1))
done