LINUX.ORG.RU

В общем, сделал при помощи си, седа и такой-то матери:

while((c = getchar()) != EOF) {
		if (c == '\n') {
			j++;
			if (i == 2) { 
				c=' '; 
				i=0;
			}
		}
putchar(c);
}

А потом убираем невесть откуда взявшиеся \r\n переводы строк возникшие на месте всех остальных после того как прошлись по файлику этой какой:

sed -e 's/^M//g' log.txt

Ура.

Frakhtan-teh ★★
() автор топика
Ответ на: комментарий от Frakhtan-teh

так тебе надо строки объединить, каждую третью со следующей?

awk '{if (NR%3) {print} else {getline n; print $0n}}'
sdio ★★★★★
()
Ответ на: комментарий от Frakhtan-teh

Что-то вроде того.

Конкретно этот случай можно и так: sed '3~3 {N;s/\n//}'

А в общем случае можно костыльнуть 2 sed: первым разбить по регэкспу \0 - символом, вторым заменять (вместе с \0) каждую n-ю строку: n~n.

n01r ★★
()
Ответ на: комментарий от n01r

//fix: не \0, а просто \n (и перед заменой: N, дабы \n убрать с регэкспом).

n01r ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.