Портативно:
sed -e 's/|/&\
/4;P;D' file
Если вы используете GNU Sed, вы можете использовать нестандартный \ n
для представления символа новой строки в шаблоне замены:
sed -e 's/|/&\n/4;P;D' file
Команда s
вставляет перевод строки после четвертого |
в пространстве шаблонов.
Команда P
печатает до первой новой строки из пространства шаблонов.
D
] удаляет до первого символа новой строки из пространства шаблонов.
Если не было произведено подстановки (менее четырех |
символов в шаблоне tern space), пространство шаблонов не будет содержать новых строк, поэтому команда P
будет печатать все пространство шаблонов, а команда D
удалит все пространство шаблонов, а затем будет считана следующая строка из файла, и цикл начнется заново.