Как сделать цикл для 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