Эта труба должна давать желаемые результаты. Обратите внимание, что вы должны что-то направить в это, так что добавьте, например, cat input.txt |
для быстрого теста.
while read line; do [ "$(ispell -l <<< "$line" | wc -l)" -gt 0 ] && echo "$line"; done
Чтобы также добавить номер строки:
nl -b a -p | while read number line; do [ "$(ispell -l <<< "$line" | wc -l)" -gt 0 ] && echo "$number: $line"; done
Если вы хотите вместо этого вернуть строки с ошибками, просто замените -gt
на -le
(или, конечно, замените &&
на ||
)
Конечно, вы можете сохранить эти строки в виде скрипта, а затем просто сделать
script.sh < input.txt
если вы так предпочитаете