Remove part of the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Remove part of the file
# 1  
Old 08-21-2007
Remove part of the file

I have an xml file, from where I need to take out Application2 entries and keep the others. I need to remove from <product> to </product> and the key element to look for while removing should be <application> as other pairs can be same for others.

<product>
<name>Name1</name>
<version>1.0</version>
<Location>c://location1</Location>
<application>Application1</application>
</product>
<product>
<name>Name2</name>
<version>1.0</version>
<Location>c://location2</Location>
<application>Application2</application>
</product>
<product>
<name>Name2</name>
<version>1.0</version>
<Location>/c://location2</Location>
<application>Application3</application>
</product>

Thanks,
Chiru
# 2  
Old 08-21-2007
If the start line is unique, I can remove the pattern using:
sed -e "/<product>/,/<\/product>/d" filename > tmpfile

If I use the above, it removes all the patterns.
I am not able to figure out how to remove if the unique field is somewhere in the middle - like <application>

Please help.

Thanks,
Chiru
# 3  
Old 08-22-2007
Not tested but anyways try this:


Code:

sed -n '
/product\>/ b block
H
$ b block
b
:block
x
/Application2/!p' filename

# 4  
Old 08-22-2007
Thanks ,
I tried what you sent, from the result I see that it removes from <product> to </Application2>
The last line of the pattern </product> is not removed.

Thanks,
Chiru
# 5  
Old 08-22-2007
Below code is working fine:

Code:
sed -n '
/<product\>/ b block
H
$ b block
b
:block
x
/Application2/!p'

# 6  
Old 08-22-2007
You can give this a try:

Code:
awk 'BEGIN {ORS=RS="</product>"}{if(substr($5,14,13)!="Application2<")print}' file

Regards
# 7  
Old 08-22-2007
Quote:
Originally Posted by Franklin52
You can give this a try:

Code:
awk 'BEGIN {ORS=RS="</product>"}{if(substr($5,14,13)!="Application2<")print}' file

Regards
Your code is not working
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove part of the file using a condition

Gents, Is there the chance to remove part of the file, Taking in consideration this condition. For each record the first row start with the string % VE should be 56 rows for each records.. first row = % VE last row = % sw total 56 rows for each record. Then in the case that the... (4 Replies)
Discussion started by: jiam912
4 Replies

2. Shell Programming and Scripting

How do I take out(remove) the date part in the file name in a script?

Hi All, I need to create links between two directories. have multiple files in a specified location. Source Location ex: /opt/xdm/input/ Target Location ex: /opt/xdm input file names: 1. abc_app.aus.apac.yyyymmdd.dtd 2. abcd_app.aus.apac.yyyymmdd.dtd I need to build a code that reads... (1 Reply)
Discussion started by: kthri_82
1 Replies

3. Shell Programming and Scripting

How to remove the date part of the file?

Hi Gurus, I have file name like: abcd.20131005.dat I need to remove mid part of data final name should be abcd.dat thanks in advance (2 Replies)
Discussion started by: ken6503
2 Replies

4. Shell Programming and Scripting

Remove part of a file based on identifiers

here below is a part of the file cat fileName.txt NAME=APP-VA-va_mediaservices-113009-VA_MS_MEDIA_SERVER_NOT_PRESENT-S FIXED=false DATE= 2013-02-19 03:46:04.4 PRIORITY=HIGH RESOURCE NAME=ccm113 NAME=APP-DS-ds_ha-140020-databaseReplicationFailure-S FIXED=false DATE= 2013-02-19... (4 Replies)
Discussion started by: vivek d r
4 Replies

5. UNIX for Dummies Questions & Answers

[Solved] Rename file name / remove part of name

I have a whole file structure with jpeg files where I want to remove a part of the file name. An application added in many files a case conflict in the naming "xyz 017.jpg (Case Conflict 1)" So, can someone help me how to get rid of the " (Case Conflict 1)"? What I have is this: find . -name... (2 Replies)
Discussion started by: borobudur
2 Replies

6. UNIX for Dummies Questions & Answers

Remove part of file name with sed & mv

Ok, so I have bunch of files that are named "orange__file_name.asm" and I want to batch rename them to "file_name.asm" I know that using "ls | sed s/orange__//" will get rid of the part of the file name I do not want. But how do I combine that with the mv command to actually do it? Thanks JG (5 Replies)
Discussion started by: john galt
5 Replies

7. Shell Programming and Scripting

Remove part of a column in a text file

I have a text file with delimiter "|" and sometimes the zipcode is in "5th" column or "6th" column. I want to scan the file and remove the "-2323" from the zipcode which has zip+4 digits From blah|blah|foo|bar||blah|945523-232|USA blah|blah|foo|bar||blah|foo|94555-2323|USA To... (8 Replies)
Discussion started by: gubbu
8 Replies

8. Shell Programming and Scripting

remove range part of a file with sed

Hello, I would like to remove a range from a file with sed or any script command that is appropriate The section start by and finish by and I would like to keep line Could you tell me which command I should type ? Thanks a lot, Franck My input file is like this... (1 Reply)
Discussion started by: mfranck
1 Replies

9. Shell Programming and Scripting

remove certain part of file name

Hi, Is it possible to remove the first part of the file name using find. i.e i have something like 2006abc.txt , 1007bed.txt etc, I wanna rename them to abc.txt , bed.txt I tried some stupid way.. find . -name '*.txt' -exec mv {} `cut -f2-5 -d"_" {}` \; somehow iam not getting it. ... (3 Replies)
Discussion started by: braindrain
3 Replies

10. HP-UX

How do I take out(remove) the date part in the file name?

Hi Guys here I am again, I have two files in a specified location. Location ex: /opt/xdm/input/ input file names: 1. abc_app.yyyymmdd.dtd 2. abd_app.yyyymmdd.dtd I need to build a code that reads the files from the location based on the oldest date and cuts the date part... (5 Replies)
Discussion started by: ruthless
5 Replies
Login or Register to Ask a Question