Parsing String


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Parsing String
# 8  
Old 06-10-2009
hope below shell can help you some

Code:
find=$1
a='attr1=value1 attr2=value2 attr3=value3 attr4=value4'
set $a
while [ $# -gt 0 ];do
key=`echo ${1%=*}`
val=`echo ${1#*=}`
echo $key "--" $val
if [ $key = $find ];then
echo $val
break
fi
shift
done
echo "Finish searching..."

# 9  
Old 06-10-2009
If you are using ksh93 you could use associative arrays
Code:
#!/usr/bin/ksh93

typeset -A aArray

str="attr1=value1 attr2=value2 attr3=value3 attr4=value4"


# split string and store in temporary array
IFS="= " typeset -a tArray=($str)

# populate associative array
for ((i = 0; i < ${#tArray[@]}; i++))
do
     aArray[${tArray[i]}]=${tArray[++i]}
done

# print contents of associative array
for i in "${!aArray[@]}"
do
     print "aArray[$i] is ${aArray[$i]}"
done

# 10  
Old 06-10-2009

There's no need for any external command:

Code:
string="attr1=value1 attr2=value2 attr3=value3 attr4=value4"
eval "$string"
echo "$attr2"  ## prints 'value2'

Or:

Code:
string"attr1=value1 attr2=value2 attr3=value3 attr4=value4"
name=attr2
temp=${string#*"$name"=}
echo "${temp%% *}"

...or various other methods.
# 11  
Old 06-11-2009
Thank you very much for all your responses.

-----Post Update-----

Curious as what changes should I do in the below script inorder to handle cases that contains values vales with spaces in it?
for eg. string"attr1=value1 attr2=value 2 attr3=value3 attr4=value4"


string"attr1=value1 attr2=value2 attr3=value3 attr4=value4"
name=attr2
temp=${string#*"$name"=}
echo "${temp%% *}"

-----Post Update-----

Curious as what changes should I do in the below script inorder to handle cases that contains values vales with spaces in it?
for eg. string"attr1=value1 attr2=value 2 attr3=value3 attr4=value4"


string"attr1=value1 attr2=value2 attr3=value3 attr4=value4"
name=attr2
temp=${string#*"$name"=}
echo "${temp%% *}"
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing a long string string problem for procmail

Hi everyone, I am working on fetchmail + procmail to filter mails and I am having problem with parsing a long line in the body of the email. Could anyone help me construct a reg exp for this string below. It needs to match exactly as this string. GetRyt... (4 Replies)
Discussion started by: cwiggler
4 Replies

2. Shell Programming and Scripting

Need help on parsing string

for i in `cat list`;do lol=`curl -m 2 -s ${i} | grep 'class=info' | cut -d '>' -f14 | cut -d '<' -f1 | sed '/^$/d'`; if ;then echo "$i,$lol" >> dirty; echo "$i,$lol";fi; done cut: you must specify a list of bytes, characters, or fields Try `cut --help' for more information. it gave me that... (0 Replies)
Discussion started by: p33plime
0 Replies

3. Shell Programming and Scripting

String parsing

Hi, name=VDSL_TTV_ HN_SUB create coid=MA5603U phone=5678 portpolicy=APortSelectionPolicy rfu10=TTV rfu3=Dot1q sz7_portmode=VDSL2 rfu5=1234 srprofile.sy_profname=$ADSL_TTV_SubProfile1 I have a line like this. Its a single line.I need the output as name=VDSL_TTV_ HN_SUB create... (6 Replies)
Discussion started by: giri_luck
6 Replies

4. Shell Programming and Scripting

String parsing

Hi, name=VDSL_TTV_ HN_SUB create coid=MA5603U phone=5678 portpolicy=APortSelectionPolicy rfu10=TTV rfu3=Dot1q sz7_portmode=VDSL2 rfu5=1234 srprofile.sy_profname=$ADSL_TTV_SubProfile1 I have a line like this. Its a single line.I need the output as name=VDSL_TTV_ HN_SUB create... (1 Reply)
Discussion started by: giri_luck
1 Replies

5. Shell Programming and Scripting

String-parsing!

I need the perl solution for the following : $string="I LOVE INDIA" now, in a new string i need the first character of each word... that is string2 should be "ILN". (10 Replies)
Discussion started by: vijay_0209
10 Replies

6. Shell Programming and Scripting

Parsing of file for Report Generation (String parsing and splitting)

Hey guys, I have this file generated by me... i want to create some HTML output from it. The problem is that i am really confused about how do I go about reading the file. The file is in the following format: TID1 Name1 ATime=xx AResult=yyy AExpected=yyy BTime=xx BResult=yyy... (8 Replies)
Discussion started by: umar.shaikh
8 Replies

7. Shell Programming and Scripting

parsing a string

hi i am new to Shell scripting i have a string "hostName=lpdma520_dev_ipc_us_aexp_com" now i need to parse the string as "var1=lpdma520" please help (7 Replies)
Discussion started by: satish@123
7 Replies

8. Programming

parsing string in c

how can i remove the special characters hi iam print the string variable . suppse: while(str!=NULL) printf("******* %s ********** %d ",str,strlen(str)); output as: ****srinu ******** 5 **** phani******** 63 ****srinu ******** 5 **** phani******** 63 so my problem is how can i... (3 Replies)
Discussion started by: phani_sree
3 Replies

9. Shell Programming and Scripting

Need help on parsing string

String example: /vmfs/volumes/46000471-71d7c414-8f74-0013210cddc3/gistst/gistst.vmx What I would like to do is create a variable and save gistst in it. I thought if I could create an array and split it by '/' then I could use the 4th array element or if they was a way to do a... (13 Replies)
Discussion started by: magnacrazy
13 Replies

10. UNIX for Dummies Questions & Answers

Parsing string

I am passing argument 1-13 to a sh file. I want to parse the string and the get the numbers on either side of "-" in two different variables. I am not familiar with unix .. how can i do this? (3 Replies)
Discussion started by: rolex.mp
3 Replies
Login or Register to Ask a Question