Little explanation needed on array


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Little explanation needed on array
# 1  
Old 02-10-2013
Little explanation needed on array

I had gone through..google search.....and unix user post.......where I found so many ways of accessing files..... suppose if I am having 4 files, each file is having 3 columns, and I want to use each field of each column, then how can I use it.. how can I create array for each file's each column, and How do I access each field in C we usually use loops to access data,but C is very lenghty, AWK seems to be simple.. please anyone explain array for handling multiple file
# 2  
Old 02-10-2013
Please mention the aim of doing what you are asking, with input and output samples.
# 3  
Old 02-10-2013
Code:
HI Dona...you can do something like this if you want to use multiple files
awk '{
          {getline <"file1"; a[NR]=$1;b[NR]=$2;c[NR]=$3} # a,b,c array of File1 column1,column2,column3 
          {getline <"file2"; d[NR]=$1;e[NR]=$2;f[NR]=$3}
          {getline <"file3"; g[NR]=$1;h[NR]=$2;i[NR]=$3}
          {getline <"file4;   j[NR]=$1;k[NR]=$2;l[NR]=$3 }
          }
END{for(i=1;i<=some  value;i++) print a[i],b[i],c[i]........}' OFS=" \t" # if you want to  print you can use loop and OFS is tab separated here.

in above example I shown printing of array, you can do you some other operation also.

This User Gave Thanks to Akshay Hegde For This Post:
# 4  
Old 02-10-2013
Code:
awk 'FNR==1{i++} {for(k=1; k<=NF; k++) A[i,FNR,k]=$k} END{print ".."}' file[1-4]

Would create create a pseudo 3-dimensional array A that can be processed in the END section...

For example: A[2,6,3] will contain the 6th row, 3rd column of the 2nd file.
This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 02-11-2013
Scrutinizer will you please explain #4 with an example...I think I can learn something from you. In fact, I got one problem with nested loop with array only..in following post.
kindly Scrutinizer help me in this post I used your multidimension array method..
https://www.unix.com/shell-programmin...sult-here.html

Last edited by Akshay Hegde; 02-11-2013 at 03:47 AM..
# 6  
Old 02-11-2013
Thank you Scrutinizer and Akshay.. Scrutinizer's method is effiecient I feel..when there is multiple files, multiple fields...
# 7  
Old 04-26-2013
Scrutinizer I wanted to know how to copy 3 dimensional array please give me one example

whether
Code:
for(i=1;i<=25;i++)
{
for(m=1;m<=NF;m++)
A[i,m]=A[1,i,m]
}

this is a way to copy or any other ? please reply..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Explanation for Scripts Inner Workings Needed

#!/bin/bash n=$l; typeset -a v x=$(< input.dat) check(){ if; then sed 's/Test/Proc/g' file.sh >fl.sh else exit 13 fi } check $n while ; do x=`expr $x -l` v=$x done less fi.sh l>/dev/null&& echo yes || exit 1 echo v= ${v } exit 0 I have file.sh and input.dat in the current... (3 Replies)
Discussion started by: bananasprite
3 Replies

2. Shell Programming and Scripting

Value Too Great for Base Error, Explanation and Workout needed

Hey Friends, its me again! :o I was asked to create a script that would go into our backup directories and delete/purge anything in the directory after a certain amount of days, normally I would be able to write something up that goes to the directory finds it and deletes it. cd... (12 Replies)
Discussion started by: gkelly1117
12 Replies

3. UNIX for Advanced & Expert Users

Grep - Explanation needed.

grep -E '^(++){5}5000' <file_name> this command searches value 5000 in only 6th column from provided file where pipe ( | )is delimiter which separate columns... can some one plz explain me what '^(++){5}5000' actually does..? :confused: (1 Reply)
Discussion started by: Killer420
1 Replies

4. Shell Programming and Scripting

Help needed on Associative array in awk

Hi All, I got stuck up with shell script where i use awk. The scenario which i am working on is as below. I have a file text.txt with contents COL1 COL2 COL3 COL4 1 A 500 400 1 B 500 400 1 A 500 200 2 A 290 300 2 B 290 280 3 C 100 100 I could able to sum col 3 and col4 based on... (3 Replies)
Discussion started by: imsularif
3 Replies

5. Programming

Python 3.1 TypeError explanation needed

Could someone explain why Python 3.1 errors out below? Do I need an additional module that's not required in 3.2 perhaps? I need to use 3.1 as it's the version available on a server I am using. Python 3.2.1rc1 (default, May 18 2011, 11:01:17) on linux2 Type "help", "copyright", "credits"... (0 Replies)
Discussion started by: jelloir
0 Replies

6. Shell Programming and Scripting

Explanation Needed

Hi all, I'm very new to UNIX. I have got a coding, where i dont understand the below part. Could someone please explain it in detail? awk 'NR > 1; NR == 1 { S = $0 } END { print S }' $textfile.bak > $textfile could someone explain what awk 'NR > 1; NR == 1 { S = $0 } END { print S }' ... (1 Reply)
Discussion started by: raghulshekar
1 Replies

7. Solaris

showrev output explanation needed

hi this is the output of showrev command from my sun blade 150 machine. bash-3.00# showrev Hostname: u15_9 Hostid: 83685284 Release: 5.10 Kernel architecture: sun4u Application architecture: sparc Hardware provider: Sun_Microsystems Domain: sun.com Kernel version: SunOS 5.10... (1 Reply)
Discussion started by: kingston
1 Replies

8. UNIX for Dummies Questions & Answers

Exec explanation needed

Hello! I want to read a file line by line and have each line in a variable. I have found the following code. #!/bin/bash exec 3< data while read <&3 do echo "The number is $REPLY" a.out "$REPLY" done exec 3>&- I don't understand the use of exec and its arguments, though having read... (3 Replies)
Discussion started by: myle
3 Replies

9. Shell Programming and Scripting

Array help needed

I want to write a line to a log file for each mountpoint that is above 75% disk space used. I have written the following so far which doesn't take into account the checking for 75% yet but simply tries to write a line for every mountpoint into the logfile. #!/bin/ksh PERCENTAGES=`bdf | grep... (1 Reply)
Discussion started by: petachi
1 Replies

10. Shell Programming and Scripting

sed command explanation needed

Hi, Could you please explain me the below statement -- phrase wise. sed -e :a -e '$q;N;'$cnt',$D;ba' abc.txt > xyz.txt if suppose $cnt contains value: 10 it copies last 9 lines of abc.txt to xyz.txt why it is copying last 9 rather than 10. and also what is ba and $D over there in... (4 Replies)
Discussion started by: subbukns
4 Replies
Login or Register to Ask a Question