How to separate based on delimiter?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to separate based on delimiter?
# 1  
Old 03-18-2014
How to separate based on delimiter?

Hi,

Variable=MKT1,MKT2,MKT3 and so on

i am trying to seperate MKT1,MKT2,MKT3 and store each in a variable.
the values in variable1 may vary. I am using bash
# 2  
Old 03-18-2014
Hi,
store them in var1, var2, var3 ... ok?
Code:
  #!/bin/bash
  Variable=MKT1,MKT2,MKT3
  IFS=','
  i=1
  for j in ${Variable[@]}
  do
  eval var$i=$j
  i=`expr $i + 1`
  done

# 3  
Old 03-18-2014
Code:
IFS=,
read -r variable1 variable2 variable3 <<< "$variable"

# 4  
Old 03-18-2014
Quote:
Originally Posted by in2nix4life
Code:
read -r variable1 variable2 variable3 <<< "$variable"

You'll need to set IFS to a comma in order to split the variable though:
Code:
IFS=, read variable1 variable2 variable3 <<< "$variable"

# 5  
Old 03-18-2014
Thak you all for the wonderful input. It sings like a bird. But here comes the major problem.

Whenever i use IFS in my script, sqlplus doesnot run and throws me an error saying that no such file or directory.
I i remove IFS, sqlplus runs without any problem.
So i was wondering if there is any other way like awk or anything else, however bad or long programming it may be...thanks
# 6  
Old 03-18-2014
Try unsetting IFS after you've used it:
Code:
IFS=, read variable1 variable2 variable3 <<< "$variable" ; unset IFS

# 7  
Old 03-18-2014
Or use parameter substitution and array:
Code:
#!/bin/bash

Variable=MKT1,MKT2,MKT3
I=0

for T in ${Variable//,/ }
do
        (( I++ ))
        ARR[$I]="$T"
done

I=0
while [ $I -lt ${#ARR[@]} ]
do
        (( I++ ))
        echo ${ARR[$I]}
done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

C++ separate code based on the few changes

Hi, I am working in Visual studio 2008 in which i have written the code in c++,qml,qt.Its a simulator application. I would like to create a simulator with certain changes. In order to do that i have modified the code with few changes based on the preprocessor condition. #define... (4 Replies)
Discussion started by: SA_Palani
4 Replies

2. UNIX for Dummies Questions & Answers

Splitting strings based on delimiter

i have a snippet from server log delimited by forward slash. /a/b/c/d/filename i need to cut until last delimiter. So desired output should look like: /a/b/c/d can you please help? Thanks in advance. (7 Replies)
Discussion started by: alpha_1
7 Replies

3. Shell Programming and Scripting

Separate output based on dates

Hi guys! First time poster on here, was wondering if someone could help with a problem which I'm facing. Is it possible to use awk or sed to separate the below output based on TRANSACTION_DATE? The output would then feed into DataStage. Contents of CSV file:... (5 Replies)
Discussion started by: Jimmy_the_tulip
5 Replies

4. Shell Programming and Scripting

How to separate a statement based on some delimiter and store each field in a variable?

Hi, Variable1 = MKT1,MKT2,MKT3,MKT4 Now i want to store each of these value seperated by comma to a array and access each of the values. Also find out number of such values seperated by comma. Variable1 can have any number of values seperated by comma. Thanks :) (3 Replies)
Discussion started by: arghadeep adity
3 Replies

5. Shell Programming and Scripting

Separate string based on delimiter

Hi, for fd in $(grep "/tmp/" hello.properties)The grep gives me the below output: deploydir=/tmp/app1/dfol prodir= /tmp/hello/prop ...... Now i want to store /tmp/app1/dfol then /tmp/hello/prop in a variable so that i can check if those folders files exists or not. The delimiter would... (4 Replies)
Discussion started by: mohtashims
4 Replies

6. UNIX for Dummies Questions & Answers

Trimming a string based on delimiter.

Hi, I have a string say "whateverCluster". I need everthing apart from the string "Cluster" Input: whateverCluster Desired output: whatever (5 Replies)
Discussion started by: mohtashims
5 Replies

7. Shell Programming and Scripting

split record based on delimiter

Hi, My inputfile contains field separaer is ^. 12^inms^ 13^fakdks^ssk^s3 23^avsd^ 13^fakdks^ssk^a4 I wanted to print only 2 delimiter occurence i.e 12^inms^ 23^avsd^ (4 Replies)
Discussion started by: Jairaj
4 Replies

8. Shell Programming and Scripting

Substring based on delimiter, finding last delimiter

Hi, I have a string like ABC.123.XYZ-A1-B2-P1-C4. I want to delimit the string based on "-" and then get result as only two strings. One with string till last hyphen and other with value after last hyphen... For this case, it would be something like first string as "ABC.123.XYZ-A1-B2-P1" and... (6 Replies)
Discussion started by: gupt_ash
6 Replies

9. Shell Programming and Scripting

Separate based on file names

Hello experts, This might prove to be a stupid question to some of you, but I have tried to tackle it in different ways. Being new to shell scripting, I am requesting your help in coming up with an elegant solution. I am using Korn shell. We have a directory with file names with the pattern:... (2 Replies)
Discussion started by: prashk15
2 Replies

10. UNIX for Dummies Questions & Answers

Cut a Variable into sub variables based on a delimiter

Hello All, I am novice on Shell Scripting. Any help on this is highly appreciated. I have a variable $VARIABLE="$some1|$some2|$some3" I need sub variables $SUBVAR1,$SUBVAR2,$SUBVAR3 which must be equal to $some1 , $some2 and $some3 respectively. It works fine with $SUBVAR1 =... (6 Replies)
Discussion started by: jingi1234
6 Replies
Login or Register to Ask a Question