Это сработает:
while read line1 && [do something with $line1]
do
read line2 && [do something with $line2]
read line3 && [do something with $line3]
[…]
done < file.txt
Однако очень странно иметь ограничение на чтение ровно N строк, если ваша структура данных не является фиксированным числом строк. Обычно то, что делается при чтении нескольких строк за раз, представляет собой своего рода параллелизм, который лучше достигается с помощью либо xargs
(для обработки нескольких переменных $lineN
в одной команде) , parallel
(чтобы использовать рабочую модель для обработки линий как можно скорее) или их комбинацию.