Я перебираю текстовый файл построчно в bash и распечатываю сегменты слова, соответствующие шаблону регулярных выражений.Этот процесс выполняется путем принятия текстового файла в качестве аргумента.Мой код работает нормально, но в конце, в последней строке, выводится нежелательный вывод.Я новичок в Bash, и я понятия не имею, почему это происходит.Ниже показан мой код:
#!/bin/bash
pat='[a-z][a-zA-Z0-9_]*\.png'
while IFS='' read -r line || [[ -n $line ]];do
echo $line | grep -o -P $pat
done < "$1"
ниже показан вывод (нежелательная строка выделена):

Я хочу избавиться от этой последней строки нежелательного вывода.