Can anyone tell me what's wrong here...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Can anyone tell me what's wrong here...
# 1  
Old 03-17-2013
Can anyone tell me what's wrong here...

Here is my code....

just want to compare column 1 and 2 of file 2 with file 1 as standard file and print file 2 all contents with matched index value stored in $8 of file 1
Code:
awk 'NR==FNR{
A[$1,$2]=$0;B[$8]++;next}
{print A[$1,$2]?$0 FS B[i]: $0 FS "Not-Found" }' FS="\t" file1 file2

here B[i] is not printing if suppose if I put text say
Code:
"Found "

in place of B[i] It's coming

Last edited by Akshay Hegde; 03-17-2013 at 01:06 PM..
# 2  
Old 03-17-2013
Where do you set variable i ?
# 3  
Old 03-17-2013
what I have to do B[$8] ? or for loop
please Scrutinizer help me.. I don't know much about shell

Last edited by Akshay Hegde; 03-17-2013 at 01:58 PM..
# 4  
Old 03-17-2013
Print example of your input and how you like the output to be.
# 5  
Old 03-17-2013
file1

Code:
col1 col2 col8
12 15       878
12 16       969
12 17       556

file 2
Code:
col1 col2
12 15 
12 15 
12 -999
12 16

output coming with my current code(print file2)
Code:
12 15 
12 15
12 -999  Not Found
12 16

expecting(print file2)
Code:
12 15 878
12 15 878
12 -999 Not-Found
12 16 556

# 6  
Old 03-17-2013
Simply store the column 8 value in the hashed array.
Code:
awk -F"\t" '
NR==FNR {A[$1,$2]=$8; next}
{B=A[$1,$2]; print $0,B?B:"Not-Found" }
' file1 file2

NB file1 and file2 must be strictly TAB-separated.
# 7  
Old 03-17-2013
Will you please explain Sir, As I don't have enough knowledge in shell..

Last edited by Akshay Hegde; 03-17-2013 at 03:00 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Why result is wrong here ? whether break statement is wrong ?

Hi ! all I am just trying to check range in my datafile pls tell me why its resulting wrong admin@IEEE:~/Desktop$ cat test.txt 0 28.4 5 28.4 10 28.4 15 28.5 20 28.5 25 28.6 30 28.6 35 28.7 40 28.7 45 28.7 50 28.8 55 28.8 60 28.8 65 28.1... (2 Replies)
Discussion started by: Akshay Hegde
2 Replies

2. UNIX for Advanced & Expert Users

What am I doing wrong here?

I am working on a simple login ID check shell script that should prompt for a user ID then check to see if this user is logged on. Trying to get the hang of this stuff so I am thinking of my own little projects. #! /bin/sh echo "please enter a user name" read user if user=$user then... (3 Replies)
Discussion started by: jsk319342
3 Replies

3. UNIX for Dummies Questions & Answers

What is wrong in here ???

]#PATH=/usr/bin:/etc:/bin:/boot/grub:/boot/grup/bin: /boot/solaris/bin:/sbin:/usr/openwin/bin:/usr/5bin://usr/X11/bin:/usr/apache/bin:/usr/apache2/bin:/usr/appserver/bin:... (9 Replies)
Discussion started by: microbot
9 Replies

4. Shell Programming and Scripting

what I m doing wrong?

when user select option 2 nothing happen.for testing purpose I put echo command but is not executing . basically when user prompt for option 2,I want to get list of database name from user separeted by space (TEST DEVL) and put into the file seprated by new line TEST DEVL after that stay on... (1 Reply)
Discussion started by: okreporthai
1 Replies

5. UNIX for Dummies Questions & Answers

what is wrong with this tr -d?

here is my command in bash shell on Mac OS X tiger: history | tr -d emacs here is what I get: hitory | grp "" | tr -d "" hitory | grp "" | tr -d """" hitory | grp "" | tr -d '' hitory | grp "" | tr -d '' hitory | grp "" | tr -d '' hitory | grp "" | tr -d... (3 Replies)
Discussion started by: cleansing_flame
3 Replies

6. UNIX for Dummies Questions & Answers

What am I doing wrong?

I really just mess around in UNIX, for the most part, when I want to get something done. I can usually piece things together by searching for brief how-to's on Google, but the syntax errors in my following .sh file are really confusing me. I've got lots of programming experience in other places, so... (7 Replies)
Discussion started by: demonpants
7 Replies

7. UNIX for Dummies Questions & Answers

what is wrong here

Hello, I have a simple script such as ----------------------------- #! /bin/sh YEAR=`date -u +%Y`; MONTH=`date -u +%m`; DAY=`date -u +%d`; DATE=$MONTH$DAY$YEAR LOGFILES=auditTrail-$DATE LOGMATCH=$LOGFILES\* ARGUM='' # find all files and write them to a file find . -name... (7 Replies)
Discussion started by: arushunter
7 Replies

8. Shell Programming and Scripting

Anything wrong with this

Does anyone see anything wrong with this. #getInfraFiles() #{ # cd Infra/$DAY # rm * # /usr/bin/ftp -i -n $LINE << cmd # user "$USER" "$PASSWD" # cd $INFRAPATH # binary # mget * # bye #} besides that its commented out (4 Replies)
Discussion started by: rcunn87
4 Replies

9. UNIX for Dummies Questions & Answers

Please tell me what do I do wrong here!

#!/usr/bin/csh # DAY=`date +%y%m%d` H=`date +%H` M=`date +%M` mailx -s "$H-Myfile" email@email.com</home/mydir/myfile Thanks! (4 Replies)
Discussion started by: bobo
4 Replies

10. UNIX for Advanced & Expert Users

What am I doing wrong

When I execute following shell script I am getting the following error syntax error at line 50 : `<<' unmatched What am I doing wrong :confused: Script begins here ---------------- MPAN_FILE=$1 exec 3<$MPAN_FILE ... (2 Replies)
Discussion started by: guptan
2 Replies
Login or Register to Ask a Question