См. изображение:
Какой regex удалил бы все окончания строки только из непустых строк (не удаляющий их из пустых строк? Это от текстового файла более чем 8 000 строк.
64-разрядная Vista.
Мой грязный метод должен был бы открыть его в слове, сделать находку и замену на ^p^p (два абзаца конца подряд) с некоторым символом, не используемым в файле, как "|". Затем я заменил бы весь ^p просто пространством. Затем я возвратился бы и заменил бы t он "|" с ^p.
При попытке преобразовать абзацы, которые имеют разрывы строки в конце каждой строки к непрерывному тексту в рамках каждого абзаца:
Теперь время для всего good\n
мужчины для прихода на помощь their\n
country\n
\n
в
Теперь время для всех хороших мужчин для прихода на помощь их country\n
\n
Затем что-то вроде этого должно работать:
sed -n '1{x;d};H;${x;s|\([^\n]\)\n\([^\n]\)|\1 \2|gp}' file
или
sed ':a;$!N;s|^\n||;s|\n\([^\n]\+\)$| \1|;ta;p;D' file
Это отчасти зависит, на каком regex пакете Вы имеете, есть ли у Вас предвидение или нет.
Я лично сделал бы:
- удалите запаздывание пробела, это удостоверяется, что 'пустые' строки являются \n\n
s/^[ \t][ \t]*$//
- если это - исключительный перевод строки, замена
s/([^\n])\n([^\n])/\1 \2/
это действительно зависит от Вашего regex пакета