Если вы выполняете команду grep с несколькими строками и несколькими словами в строке, вывод, похоже, сохраняется в массиве по словам, а не по строкам. Как вы можете изменить его, чтобы он сохранялся в каждой строке?
Например:
first_title=( $(egrep -o 'class\=\"title\" title\=\"'.\{1,80\} index.html
| egrep -o title\=\".*\"\> | sed 's/title\=\"//g' | sed 's/">//g') )
echo ${first_title[0]}
Если бы это вернуло 10 строк, а первая читалась "Это строка"
Будет выведено только "Это"