нужен regex, который удалил бы окончания строки в текстовом файле, кроме окончаний в пустых строках

См. изображение:

alt text

Какой regex удалил бы все окончания строки только из непустых строк (не удаляющий их из пустых строк? Это от текстового файла более чем 8 000 строк.

64-разрядная Vista.

0
задан 21.08.2011, 11:31

4 ответа

Мой грязный метод должен был бы открыть его в слове, сделать находку и замену на ^p^p (два абзаца конца подряд) с некоторым символом, не используемым в файле, как "|". Затем я заменил бы весь ^p просто пространством. Затем я возвратился бы и заменил бы t он "|" с ^p.

1
ответ дан 24.11.2019, 06:50

При попытке преобразовать абзацы, которые имеют разрывы строки в конце каждой строки к непрерывному тексту в рамках каждого абзаца:

Теперь время для всего 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
1
ответ дан 24.11.2019, 06:50

Это отчасти зависит, на каком regex пакете Вы имеете, есть ли у Вас предвидение или нет.

Я лично сделал бы:

- удалите запаздывание пробела, это удостоверяется, что 'пустые' строки являются \n\n

s/^[ \t][ \t]*$//

- если это - исключительный перевод строки, замена

s/([^\n])\n([^\n])/\1 \2/

это действительно зависит от Вашего regex пакета

0
ответ дан 24.11.2019, 06:50

с sed я сделал бы что-то как:

sed 's/[ \t]*$//'
0
ответ дан 24.11.2019, 06:50

Теги

Похожие вопросы