Using arrays?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using arrays?
# 1  
Old 02-11-2013
Using arrays?

I have never used arrays before but I have a script like this:

Code:
var1=$(for i in $(cat /tmp/jobs.021013);do $LIST -job $i -all  |
perl -ne 'print  /.*(\bInfo.bptm\(pid=\d{3,5}).*/' | tr -d "(Info=regpid" | tr -d ')'; $LIST -job $i -all  |
cut -f7 -d','| sed -e "s/^\([0-9]*\)\([A-Z0-9.-]*\)\([-0-9-]*\)\(.*\)/\1 \2/";done)
echo $var1
var2=$(for i in $(cat /tmp/jobs.021013);do $LIST -job $i -all  |
perl -ne 'print  /.*(\bInfo.bptm\(pid=\d{5}).*/' | tr -d "(Info=regpid" | tr -d ')'; $LIST -job $i -all  |
cut -f7 -d','| sed -e "s/^\([0-9]*\)\([A-Z0-9.-]*\)\([-0-9-]*\)\(.*\)/\1 \2/";done)
echo $var2

These two variables will store a list such as: Var1= 996 host1 665 host2 334 host3
and Var2 =15516 host1 22223 host2 15151 host3. However, I want a list that looks like this:
996 15516 host1
665 22223 host2
334 15151 host3

Would I need to use arrays to get a list like this? If so, what would be a brief example? Any suggestions would be greatly appreciated.

---------- Post updated at 12:34 PM ---------- Previous update was at 12:25 AM ----------

Did anyone have an idea about creating this list? Do you need more information?
# 2  
Old 02-11-2013
You can store a string like that in the shell. Putting it outside quotes has stripped all newlines and whitespace, however, try echo "$string"

Using it may mean you need to alter the value of IFS.

Code:
STRING="a b c
d e f
g h i"

OLDIFS="$IFS"
IFS="
"
for X in $STRING
do
        echo $X
done

IFS="$OLDIFS"

Your code...probably needs to be replaced. It's full of useless uses of cat and does so many external calls to perl, cut, sed, tr, that it's extremely redundant and monstrously inefficient. And so overcomplicated that I can't even tell what you're trying to do, at this point.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 02-11-2013
Thanks!

Corona:

You gave me a whole new perspective on what I was doing and I'm able to make this script much better. Thanks for your expert help!Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Arrays

Am using bash For eg: Suppose i have a array arr=(1 2 3 4 5 6 7 8 9 10 11 12) suppose i give input 5 to a script and script should able to print values greater than or equal to 5 like below: Input: 5 output: 5,6,7,8,9,10,11,12 (7 Replies)
Discussion started by: manid
7 Replies

2. Programming

Arrays in C++

I've noticed something interesting in C++ programming. I've always done tricky stuff with pointers and references to have functions deal with arrays. Doing exercises again out of a C++ book has shown me an easier way, I didn't even know was there. It's weird to me. When dealing with arrays, it... (4 Replies)
Discussion started by: John Tate
4 Replies

3. Shell Programming and Scripting

How can I use the arrays ?

Hi all, I have a file test1.txt with the below contents abc def ghj xyz I tried printing these values using arrays. Script tried : =========== set -A array1 `cat test1.txt` count=${#array1 } i=0 while do echo "element of array $array1" done (1 Reply)
Discussion started by: dnam9917
1 Replies

4. Programming

question about int arrays and file pointer arrays

if i declare both but don't input any variables what values will the int array and file pointer array have on default, and if i want to reset any of the elements of both arrays to default, should i just set it to 0 or NULL or what? (1 Reply)
Discussion started by: omega666
1 Replies

5. Shell Programming and Scripting

Using arrays in shell

I have three arrays. One is Master array and that has list of other array in config file. for e.g (for simplicity I have only defined array with 2 elements each) set +A MASTERARRAY SQLUPDATE_ONETIME SQLUPDATE_DAILY END_OF_ARRAY set +A SQLUPDATE_ONETIME update12 update22 END_OF_ARRAY... (4 Replies)
Discussion started by: anish
4 Replies

6. Shell Programming and Scripting

2d arrays in unix

hi everybody can anyone help me with usage of 2 dimensional arrays in unix. please provide a suitable example for accessing individual elements as well as all elements. Thanks (2 Replies)
Discussion started by: jpriyank
2 Replies

7. HP-UX

Hitachi arrays to HP-UX 11.11

We have 2 servers (L1000 and rp7410) running 11.11. We would like to hook them up to either a Hitatchi AMS 2500 or Hitachi USPV via fiber channel. I need to what drivers I need for this and if it will work. Oh, they are using HP Tachyon XL2 Fiber Channel Mass Storage Adapters. Thanks, Bill (1 Reply)
Discussion started by: wsmcelroy
1 Replies

8. UNIX for Dummies Questions & Answers

arrays how to?

Hello, I am some what of a newbie to awk scripting and I seem to be struggling with this problem. I know I need to use arrays but I can't figure out how to use them. I have an input file that looks like this; Name,Team,First Test, Second Test, Third Test Crystal,Red,5,17,22... (1 Reply)
Discussion started by: vlopez
1 Replies

9. Web Development

PHP arrays in arrays

PHP question... I have an SQL query that's pulled back user IDs as a set of columns. Rather than IDs, I want to use their names. So I have an array of columns $col with values 1,7,3,12 etc and I've got an array $person with values "Fred", "Bert", "Tom" etc So what I want to do is display the... (3 Replies)
Discussion started by: JerryHone
3 Replies

10. Shell Programming and Scripting

Arrays

Dear all, How can i unset arrays. I mean all the subscripts including the array after using them. Could you direct me to some links of array memory handling in the korn shell. Thanks (2 Replies)
Discussion started by: earlysame55
2 Replies
Login or Register to Ask a Question