![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| replace single field out of 60 | ajp7701 | Shell Programming and Scripting | 2 | 04-21-2008 07:17 PM |
| Replace field in csv | pcboss | Linux | 4 | 01-19-2008 06:24 PM |
| Replace password field using ed/sed | munch | UNIX for Dummies Questions & Answers | 6 | 04-30-2007 11:01 PM |
| modify a few field of the record information | happyv | Shell Programming and Scripting | 11 | 03-23-2007 01:46 PM |
| seaching field and getting complete record | mahabunta | UNIX for Dummies Questions & Answers | 4 | 08-28-2006 04:52 PM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
how to replace field for each record
Hello,
I have the following xml formatted file. I would like to get the newnumber field number and replace into customernumber for each record. For example: <XMLFORMAT> <customernumberR11>9</customernumberR11> <newnumberR11>30</newnumberR11> <customerdetailR11> </XMLFORMT> <XMLFORMAT> <customernumberR11>20</customernumberR11> <newnumberR11>18</newnumberR11> <customerdetailR11> </XMLFORMT> <XMLFORMAT> <customernumberR11>11</customernumberR11> <newnumberR11>32</newnumberR11> <customerdetailR11> </XMLFORMT> expected output: <XMLFORMAT> <customernumberR11>30</customernumberR11> <newnumberR11>30</newnumberR11> <customerdetailR11> </XMLFORMT> <XMLFORMAT> <customernumberR11>18</customernumberR11> <newnumberR11>18</newnumberR11> <customerdetailR11> </XMLFORMT> <XMLFORMAT> <customernumberR11>32</customernumberR11> <newnumberR11>32</newnumberR11> <customerdetailR11> </XMLFORMT> Many thank...and please advise. |
|
||||
|
Quote:
Code:
awk '/<customernumberR11>/{ line=$0 }
/<newnumberR11>/{
current=$0
gsub("<newnumberR11>|</newnumberR11>","",$0)
gsub(/>(.*)</ , ">"$0"<",line)
print line
print current
next
}
!/<customernumberR11>/ && !/<newnumberR11>/ {print}
' "file"
|
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|