iconv по умолчанию отправляет свой вывод в stdout, что объясняет поведение увиденного. Вы можете направлять вывод в файл с помощью опции -o, но это будет генерировать только один выходной файл и, вероятно, не поможет вам обновлять файлы на месте. Возможно, попробуйте что-то вроде этого:
for file in *.sql; do
iconv -f ISO-8859-1 -t UTF-8 -o "$file".utf "$file" && mv "$file".utf "$file"
done
Это преобразует каждый файл и сохраняет результат во временном файле, переместив его в исходное имя файла, если преобразование было успешным.