The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"sed -объединить строки"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Офис и текст)
Изначальное сообщение [ Отслеживать ]

"sed -объединить строки"  –1 +/
Сообщение от Проезжий on 14-Сен-15, 11:10 
Дано текстовый файл много строк вида:
Я вам пишу чего же боле,,,
Я вам пишу чего же боле2,
Я вам пишу чего
же боле3,,,
Я вам пишу чего же боле4,,
Я вам пишу чего же боле5, ,

Как видно одну из строк перевело не там где нужно
Как бы их объединить? Если известно, что число запятых,заканчивающих строку может варьироваться и содержать пробелы и иные символы. Цифры в тексте приведены лишь для понимания,что строки различны.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "sed -объединить строки"  +/
Сообщение от B on 14-Сен-15, 20:10 
>Как бы их объединить?

Вот так  для приведенного текста
sed -r '/[[:digit:][:alpha:]]$/{N;s/\n//}'

>число запятых,заканчивающих строку может варьироваться и содержать пробелы и иные символы

Иные символы это что?  

>[оверквотинг удален]
> Я вам пишу чего же боле,,,
> Я вам пишу чего же боле2,
> Я вам пишу чего
> же боле3,,,
> Я вам пишу чего же боле4,,
> Я вам пишу чего же боле5, ,
> Как видно одну из строк перевело не там где нужно
> Как бы их объединить? Если известно, что число запятых,заканчивающих строку может варьироваться
> и содержать пробелы и иные символы. Цифры в тексте приведены лишь
> для понимания,что строки различны.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "sed -объединить строки"  +/
Сообщение от Max Sh on 15-Сен-15, 12:57 
>[оверквотинг удален]
>> Я вам пишу чего же боле,,,
>> Я вам пишу чего же боле2,
>> Я вам пишу чего
>> же боле3,,,
>> Я вам пишу чего же боле4,,
>> Я вам пишу чего же боле5, ,
>> Как видно одну из строк перевело не там где нужно
>> Как бы их объединить? Если известно, что число запятых,заканчивающих строку может варьироваться
>> и содержать пробелы и иные символы. Цифры в тексте приведены лишь
>> для понимания,что строки различны.

Если первая всегда заглавная,то разумней (по ресурсам) отслеживать регистр первой буквы или отслеживать наличие запятой в конце строки

модифицировать примеры отсюда http://ant0.ru/sed1line.html

Если линия заканчивается обратной косой чертой "\", то присоединить следующую линию:

    sed -e :a -e '/\\$/N; s/\\\n//; ta'

Если линия начинается с знака "=", то присоединить ее к предыдущей линии и заменить "=" пробелом:

    sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D'

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "sed -объединить строки"  +/
Сообщение от pavlinux (ok) on 16-Сен-15, 15:17 
> Как бы их объединить? Если известно, что число запятых,заканчивающих строку может варьироваться и содержать пробелы и иные символы.

Для стихов надо LaTeX со словарями юзать

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру