Автор Тема: регулярни изрази със сед  (Прочетена 4392 пъти)

ajones

  • Участници
  • ***
  • Публикации: 8
    • Профил
регулярни изрази със сед
« -: Dec 03, 2012, 10:16 »
здравейте

трябва ми да разпознавам стринг от вида
<!-- ad --> ala bala
bala ala
blaa
<!-- /ad -->
като има нови редове в стринга ...
(искам да го разпознавам и замествам с презен стринг)
това може ли да стане със регулярни изрази от командата сед  и ако може как ще изглежда израза
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: регулярни изрази със сед
« Отговор #1 -: Dec 03, 2012, 10:45 »
мисля си че xalan е много по-подходящ като инструмент от sed
Активен

0x2B|~0x2B

ajones

  • Участници
  • ***
  • Публикации: 8
    • Профил
Re: регулярни изрази със сед
« Отговор #2 -: Dec 03, 2012, 10:59 »
как ще изглежда регулярния израз ...
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: регулярни изрази със сед
« Отговор #3 -: Dec 03, 2012, 11:03 »
как ще изглежда регулярния израз ...
http://www.w3schools.com/xsl/xsl_transformation.asp
Активен

0x2B|~0x2B

ajones

  • Участници
  • ***
  • Публикации: 8
    • Профил
Re: регулярни изрази със сед
« Отговор #4 -: Dec 03, 2012, 11:12 »
няма ли начин със сед да стане  ?
Активен

radoulov

  • Напреднали
  • *****
  • Публикации: 116
    • Профил
Re: регулярни изрази със сед
« Отговор #5 -: Dec 03, 2012, 11:56 »
Може да опиташ с Perl::

Код:
perl -i.bck -0777pe'
  s|<!-- ad -->.*?<!-- /ad -->||gs
  ' infile
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: регулярни изрази със сед
« Отговор #6 -: Dec 03, 2012, 12:30 »
Код
GeSHi (Bash):
  1. sed 's/<!-- ad --> \|<!-- \/ad -->/ /g'
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

ajones

  • Участници
  • ***
  • Публикации: 8
    • Профил
Re: регулярни изрази със сед
« Отговор #7 -: Dec 03, 2012, 13:46 »
    sed 's/<!-- ad --> \|<!-- \/ad -->/ /g'

това ще хване ли стринго на повече от един ред ?
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: регулярни изрази със сед
« Отговор #8 -: Dec 03, 2012, 13:56 »
    sed 's/<!-- ad --> \|<!-- \/ad -->/ /g'

това ще хване ли стринго на повече от един ред ?

Да!
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

ajones

  • Участници
  • ***
  • Публикации: 8
    • Профил
Re: регулярни изрази със сед
« Отговор #9 -: Dec 03, 2012, 14:01 »
примера на radoulov работи ...
Активен

ajones

  • Участници
  • ***
  • Публикации: 8
    • Профил
Re: регулярни изрази със сед
« Отговор #10 -: Dec 03, 2012, 16:48 »
а със сед примера на b2l не сработва ... :(
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: регулярни изрази със сед
« Отговор #11 -: Dec 03, 2012, 16:51 »
а със сед примера на b2l не сработва ... :(

Дали...

Код:
root@mail:/home/fs# cat old.sed
<!-- ad --> ala bala
bala ala
blaa
<!-- /ad -->
root@mail:/home/fs# sed 's/<!-- ad --> \|<!-- \/ad -->/ /g' <old.sed > new.sed
root@mail:/home/fs# cat new.sed
 ala bala
bala ala
blaa

root@mail:/home/fs#
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: регулярни изрази със сед
« Отговор #12 -: Dec 03, 2012, 18:00 »
а със сед примера на b2l не сработва ... :(

Дали...

Код:
root@mail:/home/fs# cat old.sed
<!-- ad --> ala bala
bala ala
blaa
<!-- /ad -->
root@mail:/home/fs# sed 's/<!-- ad --> \|<!-- \/ad -->/ /g' <old.sed > new.sed
root@mail:/home/fs# cat new.sed
 ala bala
bala ala
blaa

root@mail:/home/fs#
а с това?
Код:
<!--
ad
--> ala bala
bala ala
blaa
<!--
 /ad
 -->
Активен

0x2B|~0x2B

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: регулярни изрази със сед
« Отговор #13 -: Dec 03, 2012, 18:07 »
Е кой пише html коментари от една дума на 3 реда?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: регулярни изрази със сед
« Отговор #14 -: Dec 03, 2012, 19:17 »
Е кой пише html коментари от една дума на 3 реда?
да попитам къде в xml стандарта е коментирано това?
Активен

0x2B|~0x2B