Общий шаблон для итерации по всем строкам файла выглядит примерно так:
i=0; while read line; do
printf "Line $((++i)) has %d letters\n" \
"$(echo "$line" | tr -dc a-zA-Z | wc -c)";
done < input
, но использование while read ...; do ... done < input
в оболочке часто лучше выполнить с помощью awk:
awk '{gsub("[^a-zA-Z]", ""); printf "Line %d has %d letters\n", NR, length}' input