Finding a XML element and moving the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Finding a XML element and moving the file
# 1  
Old 08-22-2008
Finding a XML element and moving the file

Hi All,

I am looking for a awk/shell which can find an element named REFERENCE in a XML file and check whether it is empty or not.

If there is no value in the REFERENCE element then correspondingly move the file to some other folder.

The Unix server is AIX version 4.

Any inputs would be highly appreciated.

Thanks

Karan
# 2  
Old 08-22-2008
Bug

Quote:
Originally Posted by karansachdeva
Hi All,

I am looking for a awk/shell which can find an element named REFERENCE in a XML file and check whether it is empty or not.

If there is no value in the REFERENCE element then correspondingly move the file to some other folder.

The Unix server is AIX version 4.

Any inputs would be highly appreciated.

Thanks

Karan
if [ `cat my.xml | grep "<REFERENCE>.*</<REFERENCE>" | wc -l` = 0 ]
> then
> mv my.xml dir_nm
> fi
# 3  
Old 08-22-2008
Thanks fior the reply can you please let me know if i want to check a directory for all the files without reference element and then move them how can i do that.

I think the one you wrote will apply to one file only. I apologise i dont know Unix much so maybe might be wrong somewhere
# 4  
Old 08-22-2008
MySQL

for FILE in `ls -1 *.xml`
do
if [ `cat $FILE| grep "<REFERENCE>.*</<REFERENCE>" | wc -l` = 0 ]
then
mv $FILE dir_nm
fi
done
# 5  
Old 08-22-2008
it is giving me all the files whether empty reference element or not...
the empty XML file could be like

1. <REFERENCE></REFERENCE>
2. <REFERENCE />

When i ran this script it moved all the files whether having a value or not in REFERENCE element.

Can you please assist me on this...
# 6  
Old 08-22-2008
Hi this is the solution which i tried and is working...can someone pls look at it and let me know if it could cause some problem

for FILE in `ls -1 *.xml`
+2 do
+3 if [ `cat $FILE| grep -F "<REFERENCE></REFERENCE>" | wc -l` -gt 0 ]
+4 then
+5 #mv $FILE /dfds03/editst6/guru
+6 echo $FILE
+7 elif [ `cat $FILE| grep -F "<REFERENCE />" | wc -l` -gt 0 ]
+8 then
+9 #mv $FILE /dfds03/editst6/guru
+10 echo $FILE
+11 elif [ `cat $FILE| grep -F "<REFERENCE/>" | wc -l` -gt 0 ]
+12 then
+13 #mv $FILE /dfds03/editst6/guru
+14 echo $FILE
+15 fi
+16 done

Thanks & Regards
Karan
# 7  
Old 08-22-2008
echo "Enter dir name frm whr u wanna search:--give the full path--"
read dir

if [ ! -d "$dir" ]; then
echo "Dir not found!"
exit
fi

echo "Enter destination dir path:"
read destdir_nm


for FILE in `find $dir -name *.xml`
do


if [ -f $FILE ] && [ `cat $FILE | grep "<REFERENCE></REFERENCE>" | wc -l` -gt 0 ] || [ `cat $FILE | grep "<REFERENCE />" | wc -l` -gt 0 ]
then

echo "! File Found: $FILE "
mv $FILE $destdir_nm

fi

done
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Moving XML tag/contents after specific XML tag within same file

Hi Forum. I have an XML file with the following requirement to move the <AdditionalAccountHolders> tag and its content right after the <accountHolderName> tag within the same file but I'm not sure how to accomplish this through a Unix script. Any feedback will be greatly appreciated. ... (19 Replies)
Discussion started by: pchang
19 Replies

2. UNIX for Dummies Questions & Answers

Extract Element from XML file

<?xml version = '1.0' encoding =... (8 Replies)
Discussion started by: Siva SQL
8 Replies

3. Shell Programming and Scripting

Find if XML element has a matching required element

I want to check if every <Part> element has corresponding <Description> in this sample XML. ....<Lot Of XML> <Inv lineNumber="2"> <Item> ... (4 Replies)
Discussion started by: kchinnam
4 Replies

4. Shell Programming and Scripting

Need to find root element name of XML file

Given this XML: <?xml version="1.0"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>Hide your heart</title> ... (2 Replies)
Discussion started by: ricksj
2 Replies

5. Shell Programming and Scripting

Extracting the Root Element from the XML File

Any help to extract the root element from an XML file will be appreciated. Example: test.xml <?xml version="1.0" encoding="utf-8" ?> <TestXMLMessage> <TestRec> <ID>1000</ID> </TestRec> </TestXMLMessage> Wanted to extract the TestXMLMessage. Regards, Chari (6 Replies)
Discussion started by: sree_chari
6 Replies

6. Shell Programming and Scripting

Script to put block comment after finding regex in xml file

hi, i need my bash script to find regex in xml file.. and comment 2 lines before and after the line that contains regex.. can't use # needs to be <!-- at the beginning and --> and the end of the comment. so eg.. first block <filter> <filter-name>MyRegEx</filter-name> ... (11 Replies)
Discussion started by: Poki
11 Replies

7. Shell Programming and Scripting

Need help in finding filesize , moving file , gzipping file

Hi , Please help with the following questions 1) how can i find size of a file ? i have written du -k $flname > s1 . Is this right ? Any other better suggeastions ? 2) how do I use mv command for moving the file ? I need the syntax with some examples 3) Command for printing the total... (1 Reply)
Discussion started by: Learning!
1 Replies

8. UNIX Desktop Questions & Answers

read XML xml element with REGEXP

Hi, I would need to read an xml element from an xml file to a local variable. Please could you help me with a shell script to get so? Considering that I have a file called file.xml like below: <header> <description>This is the description</description> <content>This is the... (2 Replies)
Discussion started by: oscarmon
2 Replies

9. Shell Programming and Scripting

XML root element

Hi All Can someone please help me with this awk to search an element in a XML file with a particular value and then change the root element. Thanks & Regards Karan (9 Replies)
Discussion started by: karansachdeva
9 Replies

10. Shell Programming and Scripting

Finding & Moving Oldest File by Parsing/Sorting Date Info in File Names

I'm trying to write a script that will look in an /exports folder for the oldest export file and move it to a /staging folder. "Oldest" in this case is actually determined by date information embedded in the file names themselves. Also, the script should only move a file from /exports to... (6 Replies)
Discussion started by: nikosey
6 Replies
Login or Register to Ask a Question