String Array


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers String Array
# 1  
Old 11-15-2006
Question String Array

I am having a string with the value:
str="name1, name2, name3, "

I want to traverse the list of elements. How do I loop them?

Last edited by ravikirankethe; 11-15-2006 at 11:22 AM..
# 2  
Old 11-15-2006
One way:
Code:
$ cat sloop
#! /usr/bin/ksh

str="name1, name2, name3, "

while [[ -n $str ]] ; do
        item=${str%%,*}
        str=${str#* }
        echo item = $item
done
exit 0
$ ./sloop
item = name1
item = name2
item = name3

# 3  
Old 11-15-2006
Its easy to loop a string with spaces. So u can substitute the , with a space and then use that new string to loop using for....

str1="value1,value2,value3"
str2=`echo $str1 | tr "," " "`
#there is a space in between the second pair of quotes

for text in $str2
do
echo "$text"
done
justsam
# 4  
Old 11-15-2006
Thanks Perderabo and Justsam.
Justsam logic seems to be bit easy.

Perderabo logic is not working if we have no space in str
str="name1,name2,name3, "
# 5  
Old 11-15-2006
Here's my favorite way of doing this, similar to justsam but without piping $str through tr (UUOtr Smilie )

Code:
str="name1, name2, name3, "

typeset IFS=' ,'
for i in $str
do
    echo $i$i                                                                                                                                                       
done

This User Gave Thanks to tmarikle For This Post:
# 6  
Old 11-15-2006
Quote:
Originally Posted by ravikirankethe
Perderabo logic is not working if we have no space in str
str="name1,name2,name3, "
Yeah but your original post had ", " which is two characters and there is a superfluous separator ending the string. Sorry for believing what you wrote was accurately describing your problem. Smilie
# 7  
Old 11-15-2006
Code:
str="name1,name2,name3, "

typeset IFS=' ,'
for i in $str
do
    echo $i
done

works with both ", " and ","
 
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 the string value to an array?

Test1.txt Tom is hot Test.sh filename="/directory/Test1.txt" set - A store while IFS= read value do awk '{split($value,store," ")}' done < "$filename" echo ${#sore} From the code in the executing file, I would like each... (8 Replies)
Discussion started by: TestKing
8 Replies

2. UNIX for Beginners Questions & Answers

awk Associative Array and/or Referring to Field by String (Nonconstant String Value)

I will start with an example of what I'm trying to do and then describe how I am approaching the issue. File PS028,005 Lexeme HRS # M # PhraseType 1(1:1) 7(7) PhraseLab 501 503 ClauseType ZYq0 PS028,005 Lexeme W # L> # BNH # M #... (17 Replies)
Discussion started by: jvoot
17 Replies

3. 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

4. Shell Programming and Scripting

How to use string in array name?

Hi, I'm the beginner in bash scripting and I just want to create loop, which will create a few tables with string in name, and each time i try to do this in the following way, I receive: a=1; while do echo "Plik a=$a" for m in {1..4} do echo "Plik m=$m" ... (7 Replies)
Discussion started by: masterqu
7 Replies

5. Shell Programming and Scripting

Shell string array

Hi all, I want to create an array variable in shell, for example: #!/bin/sh name="foo" name="bar" name="baz" But above code didn't work, I also tried with: name=(foo bar baz) and set -A name foo bar baz but none of these worked. Another question is how to know the shell... (6 Replies)
Discussion started by: Roy987
6 Replies

6. Homework & Coursework Questions

passing letters from an array into a string for string comparison

attempting the hangman program. This was an optional assignment from the professor. I have completed the logical coding, debugging now. ##I have an array $wordString that initializes to a string of dashes ##reflecting the number of letters in $theWord ##every time the user enters a (valid)... (5 Replies)
Discussion started by: lotsofideas
5 Replies

7. Shell Programming and Scripting

PERL : Read an array and write to another array with intial string pattern checks

I have an array and two variables as below, I need to check if $datevar is present in $filename. If so, i need to replace $filename with the values in the array. I need the output inside an ARRAY How can this be done. Any help will be appreciated. Thanks in advance. (2 Replies)
Discussion started by: irudayaraj
2 Replies

8. Programming

String Array in java

Hi , I wonder how I can set up an String array in java. I need the array so I can store different items per line so each item will be like one record. I tried something like : String x = new String; but when it comes to storing the data and retrieve the is when I struggle. The... (2 Replies)
Discussion started by: arizah
2 Replies

9. Shell Programming and Scripting

how to convert array into the string

Hi I have a line/string as follows: A=" 3498 NORDEA - INDX LINKED NORY" which was converted into an array of characters: p321$ echo "${ARR}" 3 4 9 8 N O R D E A - I N D X L I N K E D N O R Y When I am trying print this array there are blank... (4 Replies)
Discussion started by: aoussenko
4 Replies

10. UNIX for Dummies Questions & Answers

string to array

Hi Experts, I'm new to Shell Scripting world and need a little help from you "Scripting Gurus". I want to convert a string (entered by a user) to array in csh. I want something like this: echo "Enter the Numbers: " set num = $< Suppose, user enters: 1 2 3 4 5 6 7 This... (6 Replies)
Discussion started by: sumitgarg
6 Replies
Login or Register to Ask a Question