array + if in linux shell scripting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting array + if in linux shell scripting
# 1  
Old 05-19-2011
array + if in linux shell scripting

Hi,

I am having two set of files with different number of columns and rows.
A set of files have only single row with 20 columns.
B set of files have 1000s of rows with 5 columns.
both set contains equal number of files.

I want to save all the 20 columns of A in variables one by one and then compare it with 5th column of set B files. If it matches....it should print the 4th column of set B files.

Thanks in advance!!!! Smilie
# 2  
Old 05-19-2011
It would be easier if you post sample data: input and expected output.
# 3  
Old 05-20-2011
Hi radoulov,
Thanks for ur interest.
sample files are:
A files sample :
Code:
3.764724 3.765135 3.780947 3.785922 2.918862 3.791665 3.776370 2.918862 3.773137 3.778527 3.773680 2.943051 3.782568 3.771691 3.773778 3.765135 0.000000 3.773137 3.773778 3.779468

B files sample :
Code:
1  AAN  97  APN  7.789069
1  AAN  98  ASK  9.827249
1  AAN  99  DAS  7.531465
2  BBM  1    GFD  3.786426
2  BBM  2    RYT  0.000000
2  BBM  3    RGF  3.764724
2  BBM  4    MKH  6.393094
2  BBM  5    POU  8.005275
2  BBM  6    PHE   6.145675...... AND SO ON..

I want to check if first field (i.e, 3.764724 ) == 5th column && 2nd column =="BBM" then
echo col4th of B files.

Likewise, I need to check it for every variable of A files from every corresponding B files.

Thanx Smilie

Last edited by Franklin52; 05-20-2011 at 03:02 AM.. Reason: Please use code tags
# 4  
Old 05-20-2011
Something to start with, this command gives the output of one Afile and one Bfile:
Code:
awk '
NR==1{s=$1; next}
$2=="BBM" && $5==s {print $4}
' Afile Bfile

# 5  
Old 05-20-2011
Code:
for i in $(<file1); do awk '($5 " " $2) ~ /'$i' BBM/ {print $4}' file2; done
RGF
RYT

# 6  
Old 05-20-2011
Hi Franklin,

I have tried ur code. It works well Smilie
But it shows output only for a single A file and its corresponding single B file.
Now, I need to run it for multiple files and save their data into new file.

I tried the following code, but it doesnt workSmilie

f
Code:
name=list1
exec<$fname
while read line
       do
 
        f2name=list2
        exec<$f2name
        while read line2
        do
 
        awk ' NR==1{a=$1; next} $2=="BBM" && $5==a {print $4}' $line $line2> $line"456"
        done
done

thanks for the help!!!!

---------- Post updated at 07:40 AM ---------- Previous update was at 06:04 AM ----------

Hi ygemici,

code given by you also works for single A file and single B file.
the output shown is :
Code:
RGF
HGD
ALA
ALA
ALA
ALA
ALA
ALA
ALA
ALA
ALA
ALA
ALA

Although I need to display only RGF

Kindly help me to work with multiple files at a time.

Last edited by radoulov; 05-20-2011 at 11:12 AM.. Reason: Code tags, please!
# 7  
Old 05-20-2011
Do you have the files in one directory?

What are the names of the A files and the B files?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Array size in C shell scripting

Hi, I would like to know how to define the size of the array in c shell scripting. (15 Replies)
Discussion started by: gopishrine
15 Replies

2. UNIX for Beginners Questions & Answers

Convert String to an Array using shell scripting in JSON file.

This is the sample json I have pasted here. I want all the IP address strings to be converted into an array. For example "10.38.32.202" has to be converted to everywhere in the JSON. There are multiple IPs in a JSON I am pasting one sample object from the JSON. But the IPs already in an Array... (11 Replies)
Discussion started by: vinshas1
11 Replies

3. Homework & Coursework Questions

Linux Shell Scripting If-else and Case

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: This is what is asked: If the user enters ‘3’, prompt the user for two file names. Verify that the file names... (2 Replies)
Discussion started by: cindy01
2 Replies

4. Shell Programming and Scripting

Assigning array values using awk in shell scripting

hi My script as below #!/bin/ksh for i in `seq 1 7` do a=$(awk '{print $i}' /home/rama/expenese.txt) done for i in `seq 1 7` do echo "${a}" done content of expense.txt is as below 5032 210179 3110 132813874 53488966 11459221 5300794 I want output as... (6 Replies)
Discussion started by: Ramakrishna V
6 Replies

5. Shell Programming and Scripting

Linux/Unix shell scripting vs Perl

Hi, I have general question: i have good working Perl script with .pl extension, and now I have to migrate all to another Linux box, and I was told that I can use only shell scripting, so I'm not sure how different those two things are, will it work without any changes . Is there anything smart I... (6 Replies)
Discussion started by: trento17
6 Replies

6. Shell Programming and Scripting

Shell Scripting Linux

In shell Can I pass " to a program ? If not what is the work around ..? Can I define * as a wild card charecter that will return all the values from the files ..? I am trying to create a tool that will return the values from a property file . This tool has to support all the wild card... (1 Reply)
Discussion started by: app1sxv
1 Replies

7. Linux

Linux/Unix Shell Scripting Book

I want to learn Linux/Unix shell scripting, I searched this forum but got some results for Unix Admin books and general Linux books. Would someone recommend a good Linux Shell Scripting book? I did order one book A Practical Guide to Linux(R) Commands, Editors, and Shell Programming ... (4 Replies)
Discussion started by: thoughts
4 Replies

8. Linux

Linux game programing or just shell scripting

Well Acording to my job... Anyhelp plz. I need some basic scripting stuff. (3 Replies)
Discussion started by: Irish Jimmy
3 Replies

9. Linux

Difference between Linux and Unix and also C and C++ and also about Shell Scripting

Please Let me know this Que and Ans please Because i applied for a H1B VISA nad i have a INTERVIEW as soon so please "Difference between Linux and Unix and also C and C++ and also about Shell Scripting about all Questions and Answers ." (3 Replies)
Discussion started by: madhav
3 Replies

10. Shell Programming and Scripting

Shell scripting for Unix and/or Linux

Anyone here knows any reasonably priced courses for independent (not corporate) users that can point me to. Already know Unix commands/vi/etc but now need scripting too. Any replies will be appreciated. (2 Replies)
Discussion started by: FastFood
2 Replies
Login or Register to Ask a Question