Вы можете использовать команду rename, которая обычно включается в установку по умолчанию:
c=0 rename 's/.*/sprintf("file%d.txt", ++$ENV{c})/e' *
Используйте флажок -n, если вы хотите сначала выполнить тест:
c=0 rename -n 's/.*/sprintf("file%d.txt", ++$ENV{c})/e' *
Как это работает, для каждого аргумента он выполняет выражение perl s/// и выполняет переименование из оригинала в замененную строку. В строке замены я использую sprintf для форматирования имени, где я использую переменную окружения c в качестве счетчика из 1.