The OpenNET Project / Index page

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

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

"сортировка в Perl или bash"  +/
Сообщение от Виталик (??) on 07-Июн-12, 16:10 
здравствуйте
скажите пожалуйста как изменить текст следующего вида:

aaa aaa aaa
bbb bbbbb bbbb bbbb
cccc cc cccc

dddd ddddd ddddd dddd
ee eeee eeeee eeee eeee

ff fffffff ffffff ff
gggg gggg ggggg
hh hhh hhhhhh hhhhhh

в следующий вид:
aaa aaa aaa bbb bbbbb bbbb bbbb cccc cc cccc
dddd ddddd ddddd dddd ee eeee eeeee eeee eeee
ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh

т.е. соединить в одну строчку все абзацы  

чем такое можно сделать?

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

Оглавление

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


1. "сортировка в Perl или bash"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-12, 16:45 
>[оверквотинг удален]
> ee eeee eeeee eeee eeee
> ff fffffff ffffff ff
> gggg gggg ggggg
> hh hhh hhhhhh hhhhhh
> в следующий вид:
> aaa aaa aaa bbb bbbbb bbbb bbbb cccc cc cccc
> dddd ddddd ddddd dddd ee eeee eeeee eeee eeee
> ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh
> т.е. соединить в одну строчку все абзацы
> чем такое можно сделать?

$ tst |tr \\n \\!|sed 's/\([^!]\)!\([^!]\)/\1 \2/g;s/!!/!/g'|tr \\! \\n
aaa aaa aaa bbb bbbbb bbbb bbbb cccc cc cccc
dddd ddddd ddddd dddd ee eeee eeeee eeee eeee
ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh
$ tst |gawk 'BEGIN{RS="\
\
";FS="\
"}{gsub("\n"," ");print$0}'
aaa aaa aaa bbb bbbbb bbbb bbbb cccc cc cccc
dddd ddddd ddddd dddd ee eeee eeeee eeee eeee
ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh
$ tst |gawk 'BEGIN{RS="\n\n";FS="\n"}{gsub("\n"," ");print$0}'_

И на mawk-е тоже (почему-то...) работает.

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

2. "сортировка в Perl или bash"  +/
Сообщение от Виталик (??) on 07-Июн-12, 16:52 
>[оверквотинг удален]
> ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh
> $ tst |gawk 'BEGIN{RS="\
> \
> ";FS="\
> "}{gsub("\n"," ");print$0}'
> aaa aaa aaa bbb bbbbb bbbb bbbb cccc cc cccc
> dddd ddddd ddddd dddd ee eeee eeeee eeee eeee
> ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh
> $ tst |gawk 'BEGIN{RS="\n\n";FS="\n"}{gsub("\n"," ");print$0}'_
> И на mawk-е тоже (почему-то...) работает.

что за команда такая tct? во freebsd ее нет...
вообще есть фаил многомегабайтный такого текста ( т.е. там осмысленый текст, тут я просто пример привел) который нужно переработать
мне бы скрипт такого вида: тратата < text.txt > out.txt

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

3. "сортировка в Perl или bash"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-12, 19:21 
>> И на mawk-е тоже (почему-то...) работает.
> что за команда такая tct? во freebsd ее нет...

Такая команда есть только в этих наших линуксах.

  394  tst() { cat <<xxxaaa aaa aaa
  395  bbb bbbbb bbbb bbbb
  396  cccc cc cccc
  397  dddd ddddd ddddd dddd
  398  ee eeee eeeee eeee eeee
  399  ff fffffff ffffff ff
  400  gggg gggg ggggg
  401  hh hhh hhhhhh hhhhhh
  402  xxx
  403  ; }

> мне бы скрипт такого вида: тратата < text.txt > out.txt

Ну, это уж я и не знаю.... Это помощник нужен.

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

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

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




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

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