$ sed -e '
:loop
$!N
s/\n;/;/
tloop
P;D
' file.csv
Оставлять rдве строки в пространстве шаблона в любое время. Если точка с запятой видна в начале следующей строки, обрежьте новую строку и вернитесь назад, чтобы прочитать следующую строку в пространстве шаблона.
Если в следующей строке нет точки с запятой, выйти из цикла, вывести до первой новой строки, удалить эту часть, вернуться и добавить следующую строку в пространство шаблона.
У вас есть 9 ГБ доступной оперативной памяти, так что нет, нехватка памяти здесь не при чем.