Sponsored Content
Top Forums Shell Programming and Scripting Trying to pull a variable out of an xml file... Post 302583576 by agama on Tuesday 20th of December 2011 07:29:54 PM
Old 12-20-2011
This will parse your document and populate a shell array, provided the number of unique "names" isn't larger than the shell will support. It does make the assumption that <playlist> and </playlist> tags do not have a newline between them.

Code:
IFS=, playlists=( $(awk '
    /<playlist>/ {
        gsub( "</playlist>.*", "", $0 );   # strip everything before and after
        gsub( ".*<playlist>", "", $0 );
        n = split( $0, a, "," );             # split each name and make unique
        for( i = 1; i <= n; i++ )
            seen[a[i]] = 1;
    }

    END {
        for( x in seen )               # print the list of unique "names"
            printf( "%s,", x );
        printf( "\n" );
    }
' file.xml  ) )

You can access the list with [icode]${playlists[$i]}[/code], here is a sample loop that just prints them out:

Code:
i=0
while (( $i < ${#playlists[@]} ))
do
    echo "$i ${playlists[$i]}"
    i=$(( i + 1 ))
done

If you don't want to collect them in an array, you can read the awk output in a while loop:

Code:
awl '... above programme ' file.xml | while read name
do
   echo "$name"  # or other real work
done

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

pull xml's from logs

Hi Frnds I Want to pull xml's from logs based on the below condition.In each log having so many xml's it's taking so much of time to search all logs manually...can u please provide solution USER:ECMINT CONV:GETARPLNICHUBTST <CardNbr>376703134104004</CardNbr> </Envelope> Response XML:... (3 Replies)
Discussion started by: pb18798
3 Replies

2. Programming

Accessing environmet variable in xml file

Hi I have certain environmenet variables defined in .profile: export DBNAME="mydb" export DBHOST="devbox.us.abc.com" export DBPORT="1111" export PASSWORD="mypwd" export MMUSER="myid" I also have an xml file defined like: <CONFIG> <DEFAULTS operator="oraread"> <PROPERTY... (2 Replies)
Discussion started by: neeto
2 Replies

3. Shell Programming and Scripting

How do I pull a substring out of a file?

I'm new to shell scripting and am trying to write a small script that pulls a substring out of a file that has a few lines of text in it. The file will eventually have a lot of text, I just put a few lines in it for testing purposes. Anyway, this is what I have so far... #!/bin/ksh ... (4 Replies)
Discussion started by: enator45
4 Replies

4. Shell Programming and Scripting

How pull the Data from the file and should be mailed

Hi All, I need to pull the data from a file from 2 set of directories & should be mailed. I have a code , it is failing for some reason. Do somebody correct me where my script is going wrong. Directories: 1st Set of Directory /176_PS/Transactions/**/syslog.log ** : prd1 prd2... (2 Replies)
Discussion started by: raghunsi
2 Replies

5. Shell Programming and Scripting

parsing data from xml file is failing can't open variable

Created a korn shell script, everything is is working except this section, the variable $SYSINFO is being set, but the NASIP & NASDEV are failing, it appears to be treating the config.xml file config directory and xml as the file. Need a second set of eyes to tell me where I am messing up. #... (3 Replies)
Discussion started by: juanb25
3 Replies

6. Shell Programming and Scripting

wish to use shell variable in xml file, is it possible?

greetings, i have an executable that reads its config from an xml file. this executable needs to be started as the current user. there is a line in the xml file that contains the following: <option name="USER_ID" value="myuserid"/>the current value is an actual user id (mine) as it was... (3 Replies)
Discussion started by: crimso
3 Replies

7. Shell Programming and Scripting

How to parse xml file in variable-string?

In the wake of the post: how-parse-following-xml-file Thank you for the very useful chakrapani response 302355585-post4 ! A close question. How to pass a file to xmllint in variable? For example, let it be: NEARLY_FILE='<?xml version="1.0" encoding="iso-8859-1"?><html><set label="09/07/29"... (0 Replies)
Discussion started by: OleM2k
0 Replies

8. Shell Programming and Scripting

Help required in Splitting a xml file into multiple and appending it in another .xml file

HI All, I have to split a xml file into multiple xml files and append it in another .xml file. for example below is a sample xml and using shell script i have to split it into three xml files and append all the three xmls in a .xml file. Can some one help plz. eg: <?xml version="1.0"?>... (4 Replies)
Discussion started by: ganesan kulasek
4 Replies

9. Shell Programming and Scripting

Insert value of env variable in xml file

Hello, I have the following variables set in my env echo $MY_XSD_FILE /home/jak/sample.xsd echo $MY_INTERVAL_VALUE 4 I want to insert them between the xml tags in my xml file cat sample.xml ::::::::::::::: ::::::::::::::: <property name="FILE"></property> :::::::::::::::::::::::... (2 Replies)
Discussion started by: jakSun8
2 Replies

10. UNIX for Beginners Questions & Answers

How to pull multiple XML tags from the same XML file in Shell.?

I'm searching for the names of a TV show in the XML file I've attached at the end of this post. What I'm trying to do now is pull out/list the data from each of the <SeriesName> tags throughout the document. Currently, I'm only able to get data the first instance of that XML field using the... (9 Replies)
Discussion started by: hungryd
9 Replies
smd-pull(1)						 Sync Mail Dir (smd) documentation					       smd-pull(1)

NAME
smd-pull - syncs the local mail dir letting the remote one untouched SYNOPSIS
smd-pull [-d|--dry-run] [-v|--verbose] [-s|--show-tags] [-t|--template-only] [-n|--no-delete] [endpoint] DESCRIPTION
smd-pull performs in the local maildir all the changes that were performed on remote one. No changes are made on the remote maildir. Use smd-push(1) for that. Refer to smd-config(5) for the configuration file format. OPTIONS
-v --verbose Verbose output -s --show-tags Machine readable output -d --dry-run Do not perform any action for real -n --no-delete Do not propagate deletions -t --template-only Just create a template configuration file if none endpoint Is the suffix for the name of the configuration file to use. If it is omitted, the configuration file ~/.smd/config.default is used. FILES
~/.smd/config.* ~/.smd/hooks/pre-pull.d/ ~/.smd/hooks/post-pull.d/ SEE ALSO
mddiff(1), smd-server(1), smd-client(1), smd-push(1), smd-loop(1), smd-config(5) AUTHOR
Enrico Tassi <gares@fettunta.org> 11 June 2012 smd-pull(1)
All times are GMT -4. The time now is 02:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy