Tokenising into array (KSH)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Tokenising into array (KSH)
# 1  
Old 06-25-2007
Tokenising into array (KSH)

Greetings all,

I've been getting a little frustrated over my scripts as I'm not too experienced with powerful commands such as awk and sed. Hope to find some guidance here.

I need to extract the names of all directories within a specified directory, grab their names and then place each name as an entry in an array. Am pretty certain that this involves quite a bit of piping, though I'm not sure which commands + parameters to use to make the job much easier.

Hope to hear some suggestions from you all.

Thanks in advance.
# 2  
Old 06-25-2007
Code:
set -A arr $(find ./* -type d -prune)

# 3  
Old 06-25-2007
The anbu23' solution works fine for ksh.
With bash the syntax is different :
Code:
arr=( $(find ./* -type d -prune) )

In both case, you can access the data in the following way :
Code:
echo "Directories found : ${#arr[*]}
echo "Directories list :"
typeset -i i=0
while (( i < ${#arr[i]} ))
do
    echo "[$i] ${arr[$i]}"
    (( i += 1 ))
done

# 4  
Old 06-25-2007
Quote:
Originally Posted by rockysfr
[...]
I need to extract the names of all directories within a specified directory, grab their names and then place each name as an entry in an array
[...]
Code:
set -- */

$1, $2 ...$n are the elements.
# 5  
Old 06-26-2007
Quote:
Originally Posted by radoulov
Code:
set -- */

$1, $2 ...$n are the elements.
One learns something every day.
Thanks.
# 6  
Old 06-26-2007
Thanks all!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Assigning * as value in a ksh array

I want to extract each and single character from a password string and put it in an array. I tried this : set -A password "echo $passwd | awk '{for (i=1; i<=length($1); i++) printf "%s ",substr($1,i,1)}'` It's working as long that the password string doesn't contains any * I tried a few... (5 Replies)
Discussion started by: ce9888
5 Replies

2. Shell Programming and Scripting

[Solved] KSH: Array/If Help

RedHat 5 KSH I am creating an array, and then using case to go through and count for specific words. Then the count gets stored as an expression. string='ftp rcp rsh telnet ftp ftp' set -A myarray $string FTPCOUNT="0" for command in ${myarray} do case $command in ftp) FTPCOUNT=`expr... (2 Replies)
Discussion started by: nitrobass24
2 Replies

3. UNIX and Linux Applications

Array in Ksh

Hi Guys, My code is something like this set -A A1 1 7 13 19 set -A A2 2 8 14 20 set -A A3 3 9 15 21 echo "Enter a number" read number for i in 0 2 3 4 do if }" ] then do something elif }" ] then do something elif }" ] then do something (4 Replies)
Discussion started by: jeanzibbin
4 Replies

4. Shell Programming and Scripting

Array in ksh with if-else

Hi All, My Requirement is as follows: 1. User will input Source Sytem Code as input. 2. I have source system codes as 11, 34, 56, 99, 45 etc. OS Version: SunOS 5.8 Generic_117350-62 sun4u sparc SUNW,Sun-Fire-V890 My code is like... echo 'Source System Code: \c' read varSSCode... (3 Replies)
Discussion started by: saps19
3 Replies

5. UNIX for Dummies Questions & Answers

Need help with KSH Array assignment

The following command is only intermittently successful, depends on the data I give it: set -A ImageShifts_sorted `awk '/START_SECTION IMAGE_DEFINITION/ {getline;getline;getline;getline; print $2"-"$3}' temp.ASCII | sort -u` My Error: set: -1: unknown option Finally, If I run that... (3 Replies)
Discussion started by: nerdcurious
3 Replies

6. Shell Programming and Scripting

Extraction & tokenising

I have a txt file with entries like follows: absdb;ghasgs:agshasgh;asgag:asfhasfh 123;gjasg 563;tusts:gjsqg absdb;ghasgs:agshasgh;asgag:asfhasfh 123;gjasg 563;tusts:gjsqg absdb;ghasgs:agshasgh;asgag:asfhasfh 123;gjasg 563;tusts:gjsqg absdb;ghasgs:agshasgh;asgag:asfhasfh 123;gjasg... (10 Replies)
Discussion started by: skyineyes
10 Replies

7. UNIX for Advanced & Expert Users

Array copy in ksh

Hi all, Following code in ksh is giving error: fileLimit=5 func(){ dir=&quot;$1&quot; format=&quot;$2&quot; array=&quot;$3&quot; i=0 ls -lrt $format | tail -${fileLimit} | while read f_det; do files=&quot;${f_det},&quot; ((i+=1)) done eval $(echo set -A $array '&quot;${files}&quot;') } func &quot;.&quot; &quot;*.pl&quot; &quot;a&quot; echo... (10 Replies)
Discussion started by: PRKS
10 Replies

8. Shell Programming and Scripting

Ksh array solution.

I was wondering if ksh supported arrays. I have a script that may work with several hosts. I'd like a means of knowing how many hosts I'm working with and an easy way to access them (as variables) in a loop. I'm assuming there's some kind of foreach in shell scripting. (1 Reply)
Discussion started by: mrwatkin
1 Replies

9. Shell Programming and Scripting

How to pass ksh array to oracle

Hi all.. Does anyone know have an example of passing the contents of a ksharray to oracle? basically I am looking to loop through the contents of a file and store each line into a bash ksh. Once i have this I can then pass the array into an oracle procedure that accepts an array as an... (1 Reply)
Discussion started by: kiranlalka
1 Replies

10. Shell Programming and Scripting

using array in ksh

hi all, need help with putting names in an array, i have a few servers which i look up by doing a 'find . -name "*.pid' and the format of the output is like following : ./servername/myserver.pid i was wondering how can i iterate through and store each name in one array my code is... (1 Reply)
Discussion started by: cesarNZ
1 Replies
Login or Register to Ask a Question