sed with several lines, how?

Christopher Chan christopher.chan at bradbury.edu.hk
Sat Nov 27 13:27:21 GMT 2010


awk 'BEGIN {sawpattern=0} "^[[:alpha:]], ^[[:alpha:]]" {if (($0
  ~/<br><font size=3>[[:alpha:]]/ )&&  (sawpattern == 0)) {sawpattern=1}
else {sawpattern=0;print $0}}' testfile.txt

I don't know how your files are exactly formatted. Please look up the 
documentation if you need to further finetune.

man awk
man 7 regex

On Saturday, November 27, 2010 09:03 PM, Arthur Bela wrote:
> thank you, and sorry, if i had formulated wrong, but the "SOMETEXT#X"
> is a random STRING, like:
>
> $ cat testfile.txt
> alsjflsajfkljasdf
> <br><font size=3>asfklasjlkyxcvo</font><br>
> <br><font size=3>kldfjlkasjdfasdf</font><br>
> kasfjxcvklajdflas
>
> yxcvkjasafjads
> <br><font size=3>asdfjkldjlasj</font><br>
> </font></div></body></html>
> uiyxzckjhasfsd
> $
>
>
>
> $ awk 'BEGIN {sawpattern=0} "^SOMETEXT, ^SOMETEXT" {if (($0
> ~/<br><font size=3>SOMETEXT/ )&&  (sawpattern == 0)) {sawpattern=1}
> else {sawpattern=0;print $0}}' testfile.txt
> alsjflsajfkljasdf
> <br><font size=3>asfklasjlkyxcvo</font><br>
> <br><font size=3>kldfjlkasjdfasdf</font><br>
> kasfjxcvklajdflas
>
> yxcvkjasafjads
> <br><font size=3>asdfjkldjlasj</font><br>
> </font></div></body></html>
> uiyxzckjhasfsd
> $
>
>
>
> On 27 November 2010 13:36, Christopher Chan
> <christopher.chan at bradbury.edu.hk>  wrote:
>> On Saturday, November 27, 2010 07:39 PM, Arthur Bela wrote:
>>> hyphen's [ - ] are just for marking the start/end of a pattern, but
>>> there are _not in_ the pattern!
>>> "OUTPUT" is what i want after "seding" the PATTERN#X's
>>>
>>>
>>> so i for e.g.: need the first, and second "magic"
>>> sed "FIRSTMAGIC" PATTERN#1
>>> sed "SECONDMAGIC" PATTERN#2
>>>
>>>
>>>
>>>
>>> PATTERN#1:
>>>
>>> -----------------------------------
>>> SOMETEXT#1
>>> <br><font size=3>SOMETEXT#2</font><br>
>>> <br><font size=3>SOMETEXT#3</font><br>
>>> SOMETEXT#4
>>> -----------------------------------
>>>
>>> "exact pattern", what is unique from the pattern:
>>> -----------------------------------
>>> </font><br>\n<br><font size=3>
>>> -----------------------------------
>>>
>>> OUTPUT:
>>> -----------------------------------
>>> SOMETEXT#1
>>> <br><font size=3>SOMETEXT#3</font><br>
>>> SOMETEXT#4
>>> -----------------------------------
>>>
>>>
>>>
>>>
>>>
>>> and:
>>>
>>> PATTERN#2:
>>>
>>> -----------------------------------
>>> SOMETEXT#1
>>> <br><font size=3>SOMETEXT#2</font><br>
>>> </font></div></body></html>
>>> SOMETEXT#3
>>> -----------------------------------
>>>
>>> "exact pattern", what is unique from the pattern:
>>> -----------------------------------
>>> </font><br>\n</font></div></body></html>
>>> -----------------------------------
>>>
>>> OUTPUT:
>>> -----------------------------------
>>> SOMETEXT#1
>>> </font></div></body></html>
>>> SOMETEXT#3
>>> -----------------------------------
>>>
>>>
>>> i just can't figure it out, how to "sed" when having several lines
>>> [nor in awk, perl..]
>>>
>>
>> Impossible with sed. You can use awk.
>>
>> Output of: 'cat testpart'
>>
>> SOMETEXT#1
>> <br><font size=3>SOMETEXT#2</font><br>
>> <br><font size=3>SOMETEXT#3</font><br>
>> SOMETEXT#4
>>
>> SOMETEXT#1
>> <br><font size=3>SOMETEXT#2</font><br>
>> </font></div></body></html>
>> SOMETEXT#3
>>
>> Output of: awk 'BEGIN {sawpattern=0} "^SOMETEXT, ^SOMETEXT" {if (($0 ~
>> /<br><font size=3>SOMETEXT/ )&&  (sawpattern == 0)) {sawpattern=1} else
>> {sawpattern=0;print $0}}' testpart
>>
>> SOMETEXT#1
>> <br><font size=3>SOMETEXT#3</font><br>
>> SOMETEXT#4
>>
>> SOMETEXT#1
>> </font></div></body></html>
>> SOMETEXT#3
>>
>> That seems to be what you are looking for.
>>
>> --
>> ubuntu-users mailing list
>> ubuntu-users at lists.ubuntu.com
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-users
>>
>




More information about the ubuntu-users mailing list