здравствуйте
скажите пожалуйста как изменить текст следующего вида:aaa aaa aaa
bbb bbbbb bbbb bbbb
cccc cc ccccdddd ddddd ddddd dddd
ee eeee eeeee eeee eeeeff 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т.е. соединить в одну строчку все абзацы
чем такое можно сделать?
>[оверквотинг удален]
> 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-е тоже (почему-то...) работает.
>[оверквотинг удален]
> 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
>> И на 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
Ну, это уж я и не знаю.... Это помощник нужен.