Good day! It is necessary to get the text of the line between the two tags.

Below is what I get after grep:

xxx@yyy> cat bsgExport.xml | grep "UtranCell=" | grep "iubLinkUtranCell" <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> 

Next I need to get the text between

 <un:iubLinkUtranCell> 

and </un:iubLinkUtranCell> .

I add a filter to sed, but I get the line without changes:

 xxx@yyy> cat bsgExport.xml | grep "UtranCell=" | grep "iubLinkUtranCell" | sed 's/<un:iubLinkUtranCell>\(.*\)<\/un:iubLinkUtranCell>)/\1/' <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> <un:iubLinkUtranCell>SubNetwork=ONRM_ROOT_MO_R,SubNetwork=BLABLABLA,MeContext=BLABLABLA,ManagedElement=1,RncFunction=1,UtranCell=PURUMPURUM</un:iubLinkUtranCell> 

Tell me what is incorrect in sed filter? Of the features that OS - solaris.

[UPD]: inattention is a vice. The error was in the character) before / \ 1 /.

 sed 's/<un:iubLinkUtranCell>\(.*\)<\/un:iubLinkUtranCell>)/\1/' 

After being replaced by

 sed 's/<un:iubLinkUtranCell>\(.*\)<\/un:iubLinkUtranCell>/\1/' 

everything worked as it should!

  • one
    Publish the decision as an answer and "accept" it (green jackdaw on the left). - Kromster

1 answer 1

Error in character ) before /\1/

Error line:

 sed 's/<un:iubLinkUtranCell>\(.*\)<\/un:iubLinkUtranCell>)/\1/' 

After the symbol has been deleted ) the working line was received:

 sed 's/<un:iubLinkUtranCell>\(.*\)<\/un:iubLinkUtranCell>/\1/' 

Everything will work as it should!