Что здесь не так?
for file in ffn* do;
rename 's/ffn//' ffn*;
done
Ошибка в синтаксисе.
решение1
Точка с запятой не в том месте. Попробуйте:
for file in ffn*; do
rename 's/ffn//' "$file"
done
или, поскольку rename
может обрабатывать много файлов одновременно, попробуйте:
rename 's/ffn//' ffn*