Как сделать цикл для sed на bash?

Кто может подсказать, как правильно сделать цикл для sed на bash? Или как читать файл по несколько строк? Файл может состоять из сотен строк. Нужно читать блоками по 10.

Пример скрипта:

cat test1.txt | sed -n 1,10p  | while read line; do
echo TEST + $line;
done

cat test1.txt | sed -n 11,21p  | while read line; do
echo TEST1 + $line;
done

cat test1.txt | sed -n 22,32p  | while read line; do
echo TEST2 + $line;
done

Ответы (1 шт):

Автор решения: Ainar-G

А зачем вам тут вообще sed? Вы же можете использовать обычный счётчик:

i=1
while read line
do
    group="$(((i - 1) / 10 + 1))"
    i="$((i + 1))"
    echo "group=$group line=$line"
done < ./example.txt

Пример вывода:

group=1 line=line 1
group=1 line=line 2
group=1 line=line 3
group=1 line=line 4
group=1 line=line 5
group=1 line=line 6
group=1 line=line 7
group=1 line=line 8
group=1 line=line 9
group=1 line=line 10
group=2 line=line 11
group=2 line=line 12
→ Ссылка