split string using separetor


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting split string using separetor
# 1  
Old 06-06-2007
split string using separetor

i have one string , I want to split that string.
exmp:


Code:
string="abc@hotmail.com;xyz@gmail.com;uvw@yahoo.com"

I want to split it and save it in three variable
Code:
str1=abc@hotmail.com 
str2=xyz@gmail.com
str3=uvw@yahoo.com

I want to split using ';'.

please help.
# 2  
Old 06-06-2007
Code:
echo $string |cut -d';' -f1 | read str1
echo $string |cut -d';' -f2 | read str2
echo $string |cut -d';' -f3 | read str3


Last edited by lorcan; 06-06-2007 at 07:06 AM.. Reason: Incorrect
# 3  
Old 06-06-2007
thanx.....

it works...
# 4  
Old 06-06-2007
Code:
$str = "abc\@hotmail.com;xyz\@gmail.com;uvw\@yahoo.com";

@arr = split(/;/, $str);

print "first: $arr[0]\n";
print "second: $arr[1]\n";
print "third: $arr[2]\n";

# 5  
Old 06-06-2007
Code:
string="abc@hotmail.com;xyz@gmail.com;uvw@yahoo.com"
str1=${string%%;*}
str3=${string##*;}
temp=${string#$str1;}
str2=${temp#;$str3}

These 2 Users Gave Thanks to anbu23 For This Post:
# 6  
Old 06-06-2007
matrixmadhan's solution is for perl script.
You can do the same thing with ksh :
Code:
#!/usr/bin/ksh

string="abc@hotmail.com;xyz@gmail.com;uvw@yahoo.com"

oIFS="$IFS"; IFS=';' 
set -A str $string
IFS="$oIFS"

echo "strings count = ${#str[@]}"
echo "first : ${str[0]}";
echo "second: ${str[1]}";
echo "third : ${str[2]}";

Output:
Code:
strings count = 3
first : abc@hotmail.com
second: xyz@gmail.com
third : uvw@yahoo.com

Jean-Pierre.
# 7  
Old 06-06-2007
Code:
string="abc@hotmail.com;xyz@gmail.com;uvw@yahoo.com"
var=$(echo $string | awk -F";" '{print $1,$2,$3}')   
set -- $var
echo $1
echo $2
echo $3

output:
Code:
# ./test.sh
abc@hotmail.com
xyz@gmail.com
uvw@yahoo.com

This User Gave Thanks to ghostdog74 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to split a string into array?

value=malayalam # i need to store the value in an array by splitting the character #the output i need is m a l a y a l a m Please use CODE tags for output data as well as required by forum rules! (5 Replies)
Discussion started by: Meeran Rizvi
5 Replies

2. Shell Programming and Scripting

Split the string in perl

Hi All, How to split the string KAR_Celltick_Ban_GSMGW3 and want to pickup the third filed. Sometime the string may be "KAR_Celltick_Ban" like this Thanks in advance (1 Reply)
Discussion started by: sujit_kashyap
1 Replies

3. Shell Programming and Scripting

Need to split a string

Hi, We have a SunOS 5.10 Generic_142900-13 sun4v sparc SUNW,T5240. I'm trying to find a way to split a string into 2 variables. Ex: parm1="192.168.1.101/parent/child" What I need to do is split the string above into: host="192.168.1.101" location="parent/child" I saw the... (3 Replies)
Discussion started by: adshocker
3 Replies

4. Shell Programming and Scripting

split string

I am trying to get some data from a file and print it on the same line. I have a script that gets the body of emails and display it, but i want it to display each emails body in one line no matter how big it is. eg insted of this email1: bla bla bla bla bla bla bal email2: bla bla bla... (7 Replies)
Discussion started by: maddog21
7 Replies

5. Shell Programming and Scripting

split string

Hi I am facing a problem in spitting a string. Here is the string -------------------- subject1=10;subject2=30;subject3=40;subjectcode=10001;... Now, I want only marks not the subject code. (there can be 'n' subjects) ie. 10 30 40 My doubt ---------- How do I... (5 Replies)
Discussion started by: jionnet
5 Replies

6. Shell Programming and Scripting

Split string

Hi, can we split a number like this.. if i have something like 85743975945738, can it be converted as 8574-3975-945738 in ksh shell using single command... Thanks! (5 Replies)
Discussion started by: nram_krishna@ya
5 Replies

7. Shell Programming and Scripting

split the string

I need to split the string msu1_2 It should be generic for any string of the form msu<digits>_<digits> so that i get $X =1 and $Y = 2 Please help Thanks (5 Replies)
Discussion started by: asth
5 Replies

8. Shell Programming and Scripting

Split A String

Hi, I am new to scripting and need help splitting a string using space as the delimiter. How can I do that? I want the result to be stored in an Array. I tried using set -A arr $(echo $FILE) echo $arr The result of the above was ''. Thanks. (2 Replies)
Discussion started by: newbie187
2 Replies

9. Shell Programming and Scripting

split string help

could anyone help in running split cmd split("String1,outputArray,"delimiter); with sample script?. for eg i have abc-def-ghi-sdf- my ultimate aim of asking this is i have a string containing hypens, i want to get the string before last n(2) Hypens (4 Replies)
Discussion started by: senthilk615
4 Replies

10. Shell Programming and Scripting

split a string

Hi I have a script that loops though lines of a file and reads each line in to a variable ($LINE). I want to look at the line and split it into it's constituent parts. e.g. a line might be "This is a string" I want to then have variables set to each element thus: A=This B=is C=a... (3 Replies)
Discussion started by: gazingdown
3 Replies
Login or Register to Ask a Question