Visit Our UNIX and Linux User Community


storing values in arrays using shell


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting storing values in arrays using shell
# 1  
Old 09-30-2009
storing values in arrays using shell

Friends,
I have to execute a command and store its contents into an array using shell. this is what i have tried
#!/bin/bash

disk_names = ($(`iostat -xtc | egrep -v "device|nfs[0-9]" | awk '{print $1}'| tr '\n' ' ' `))


But its throwing an error message as

./test-script
./test-script: line 3: syntax error near unexpected token `('
./test-script: line 3: ` disk_names = ($(`iostat -xtc | egrep -v "device|nfs[0-9]" | awk '{print $1}'| tr '\n' ' ' `))'


Can any one correct me with the correct script please.
# 2  
Old 09-30-2009
you have both $() and backticks. You need one or the other.
Code:
disk_names = ($(iostat -xtc | egrep -v "device|nfs[0-9]" | awk '{print $1}'| tr '\n' ' ' ))

or
Code:
disk_names = (`iostat -xtc | egrep -v "device|nfs[0-9]" | awk '{print $1}'| tr '\n' ' ' `)

# 3  
Old 09-30-2009
You need to assign array values in a loop. Also, the grep | awk | cut can be done in awk in one shot. Can you post a typical o/p of iostat?
# 4  
Old 09-30-2009
actually ripat, this will work:
Code:
test=($(ls));echo $(ls);echo ${test[1]}

no loop necessary
# 5  
Old 09-30-2009
I stand corrected for the loop. But that piping is a waste of resources. awk can "grep" and "cut" if properly used.

What's the OP iostat o/p ?
# 6  
Old 09-30-2009
iostat -xtc
extended device statistics tty cpu
device r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt id
sd0 8.1 4.9 65.2 540.8 0.0 0.7 54.2 0 2 0 4 0 1 0 99
sd1 0.0 0.0 0.3 0.0 0.0 0.0 0.5 0 0
nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
nfs2 0.1 0.0 4.6 0.0 0.0 0.0 14.0 0 0
# 7  
Old 09-30-2009
Try:

Code:
iostat -xtc | awk '!/device|nfs[0-9]/ {printf "%s ",$1}'


Previous Thread | Next Thread
Test Your Knowledge in Computers #319
Difficulty: Medium
The open source program Redis is a relational database server.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Storing values in shell variable

Hi, I am writing a shell script where, x=y y=z When I want to print z, I can do $y How do I use only "x" without any direct reference to "y" to print z? Thanks, -G (3 Replies)
Discussion started by: gaurab
3 Replies

2. Shell Programming and Scripting

Storing values in arrays

I have the following csh script which lets the use pass the following as an argument -legend=tag1/tag2/tag3/tag4/tag5/tag6/tag7 We pass a number of tags separated by '/'. I want to save the legend tags in an array and have done as below. How can I improve on this as things are getting quite... (3 Replies)
Discussion started by: kristinu
3 Replies

3. Shell Programming and Scripting

Storing values in arrays using csh

I am reading a number of files but then I want to put the ranges xmin xmax ymin ymax as arrays for each file. Any idea how I can do this??? set j = 1 echo "Welcome $i times" while ( $j <= $i ) echo "$j" set fname = $fin-bst-misf.xy echo " "$fname ... (0 Replies)
Discussion started by: kristinu
0 Replies

4. Shell Programming and Scripting

Storing the values in text file using while loop in shell script

Hi Frdz while read line do name=`echo $line | cut -d' ' -f 1 ` password=`echo $line | cut -d`-` -f 2` name > logfile.txt password > logfile.txt done < list.txt When it is run, am getting last values in list.txt file only,it is not storing lall the list entry values. How can i... (5 Replies)
Discussion started by: KiranKumarKarre
5 Replies

5. Shell Programming and Scripting

storing values in a list or array

i have a file called file.txt having the following entries. 2321 2311 2313 4213 i wnat to store these values in a list and i want to iterate the list using loop and store it in another list (1 Reply)
Discussion started by: KiranKumarKarre
1 Replies

6. UNIX for Dummies Questions & Answers

Storing Multiple Values in a Variable

Hi, My code is as below: integer i=7 while ((i <= 5 )); do # test_out is a variable which contains data separated by "^". a= `echo $test_out | cut -d"^" -f$i` echo "$a" (( i = i + 1)); done From the above code, i kept $i after f so that i can capture all the data which is... (1 Reply)
Discussion started by: sandeep_1105
1 Replies

7. Shell Programming and Scripting

Storing Command Line Values

Hi, I am trying to read the value passed by the user and store it in a variable so that later I can read it from the variable. But I am getting errors. Can you please help? Thanks. Code: $ECHO "Enter the Country for which you want the installation to be executed? (US/India):" read COUNTRY... (3 Replies)
Discussion started by: yoursdavinder
3 Replies

8. Shell Programming and Scripting

Storing information in arrays....

Hello, I am writing a shell script to do the following. It greps information from the messages log and then I use the cut command to isolate the field I need (the username) and output the information to a text file. I now have to do the following. Count how many times each user logged in. So... (3 Replies)
Discussion started by: mojoman
3 Replies

9. UNIX for Dummies Questions & Answers

Concatenating arrays cell values in shell scripting

Hi All, I want to concatenate the array cell values and form a string.. Is it possible? for ex. I have an array word_array contains d u m b and after concatenating the string shld be 'dumb' thanks (2 Replies)
Discussion started by: mathur
2 Replies

10. Shell Programming and Scripting

Storing values in variable

Hi All, Here is the description of the problem. I am scripting for database access using k-shell on solaris box dbaccess <databasename> - << EOF 2>/dev/null | awk 'BEGIN {FS=" "}\ {printf "%s", $1}' | grep -v "^$" | \ read cnt1 OUTPUT TO PIPE cat WITHOUT HEADINGS select count(*) from... (1 Reply)
Discussion started by: matrixmadhan
1 Replies

Featured Tech Videos