Visit Our UNIX and Linux User Community


Help with Script please


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with Script please
# 1  
Old 08-09-2013
Help with Script please

I have an xml output like mentioned below:

Code:
result="<RETURN status="FAILED" number="5101">Invalid value for 'add_host_ips' : 192.168.1.55 (not assigned to AG owner). IPs do not exist in the license or user account.</RETURN>"

I just want to isolate status="FAILED" and assign failed to a variable.

Seems simple, but i dont know really well scripting hence unable to do it.

Any help would be greatly appreciated.
Thanks in advance.

Last edited by Scott; 08-09-2013 at 12:03 PM.. Reason: Code tags
# 2  
Old 08-09-2013
something like the following, untested, sed regex may need escape fiddling
Code:
status=$(echo $return |sed 's/<.+?status="([^"]+)".+>/\1/')

# 3  
Old 08-09-2013
Thanks for your reply, but the code gives the following error

Thanks a lot for your reply, but the code gives the following error
Code:
sed: -e expression #1, char 29: invalid reference \1 on `s' command's RHS

thanks in advance.

Last edited by Scott; 08-09-2013 at 12:01 PM.. Reason: Please use code tags
# 4  
Old 08-09-2013
Try this
Code:
sed  's/^.*status="\([^"]*\)".*$/\1/'
FAILED

# 5  
Old 08-09-2013
Sorry guys for the trouble; but there is still an error:

Code:
result="<RETURN status="FAILED" number="5101">Invalid value for 'add_host_ips' : 192.168.1.55 (not assigned to AG owner). IPs do not exist in the license or user account.</RETURN>"

Code:
sed 's/^.*status="\([^"]*\)".*$/\1/')
echo $status

Code:
#out put: 

#<RETURN status=FAILED number=5101>Invalid value for 'add_host_ips' : 192.168.1.55 (not assigned to AG owner). IPs do not exist in the license or user account.</RETURN>

---------- Post updated at 09:57 AM ---------- Previous update was at 09:55 AM ----------

Code:
result="<RETURN status="FAILED" number="5101">Invalid value for 'add_host_ips' : 192.168.1.55 (not assigned to AG owner). IPs do not exist in the license or user account.</RETURN>"

status=$(echo $result |sed 's/^.*status="\([^"]*\)".*$/\1/')

echo $status


out put:
Code:
<RETURN status=FAILED number=5101>Invalid value for 'add_host_ips' : 192.168.1.55 (not assigned to AG owner). IPs do not exist in the license or user account.</RETURN>


Last edited by Scott; 08-09-2013 at 12:03 PM.. Reason: Code tags
# 6  
Old 08-09-2013
Your assignment of the literal value is not being interpreted the way you think it is, the double quotd are being interpreted by the shell.

Try asssgning the value to result from a process directly, or compare to the snippet below:
Code:
result='<RETURN status="FAILED" number="5101">Invalid value for "add_host_ips" : 192.168.1.55 (not assigned to AG owner). IPs do not exist in the license or user account.</RETURN>'
status=$(echo $result|sed 's/^.*status="\([^"]*\)".*$/\1/')
echo $status


Previous Thread | Next Thread
Test Your Knowledge in Computers #781
Difficulty: Medium
At 17, Bill Gates formed a venture with Steve Ballmer called Traf-O-Data to make traffic counters based on the Intel 8008 processor.
True or False?

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies

Featured Tech Videos