AWK help reqd


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting AWK help reqd
# 1  
Old 04-11-2008
AWK help reqd

Hi,

I have below requirement that I need to do it using AWK.

Files
====
File1: data file that has thousands of recs
File2: Lookup file

I need to compare the position 21-31 of File1 with 1-11 of File2.

If matched then write to new output file(outfile1) else write to another output file(outfile2)

Please let me know the ways to do it in AWK.

Thanks.
# 2  
Old 04-11-2008
I would not use awk for this.

Code:
cut -c21-31 file1 | sed -e 's/[][\\.*^$]/\\&/g' -e 's/^/^/' | grep -f - file2

Add a -v to the last grep to get the non-matches.

The middle part takes care to escape any regular expression special characters so you can pass them to grep. This is off the cuff so I probably forgot about one or two which would need escaping.
# 3  
Old 04-11-2008
Doesnt work ;-(

Getting below error =>

>cut -c21-31 file1 | sed -e 's/[][\\.*^$]/\\&/g' -e 's/^/^/' | grep -f - file2
grep: illegal option -- f
Usage: grep -hblcnsviw pattern file . .


Also I need entire record from file1 when it matches.
(Note: File2 has just look up data.)

Thanks.
# 4  
Old 04-11-2008
Doesnt work ;-(

Getting below error =>

>cut -c21-31 file1 | sed -e 's/[][\\.*^$]/\\&/g' -e 's/^/^/' | grep -f - file2
grep: illegal option -- f
Usage: grep -hblcnsviw pattern file . .


Also I need entire record from file1 when it matches.
(Note: File2 has just look up data.)

Thanks.
# 5  
Old 04-11-2008
The search can be turned around to get the full lines from file1. I'm surprised your grep doesn't support the -f option, but that can be worked around with sed, too.

Code:
sed -e 's/[][\\.*^$]/\\&/g' -e 's%^%m^....................%' -e 's/$/%p' file2 | sed -nf - file1

You could create an awk script just as well as a sed script, but I already had the first half in sed, so it was easier to build on that.
# 6  
Old 04-11-2008
Give awk a try:

Code:
awk '
NR=FNR{a[substr($0,1,11)];next}
substr($0,21,31) in a{print}
' file2 file1

Regards
# 7  
Old 04-22-2008
Getting below error!

awk '
> NR=FNR{a[substr($0,1,11)];next}
> substr($0,21,31) in a{print}
> ' file2 file1
awk: syntax error near line 2
awk: bailing out near line 2


awk 'NR=FNR{a[substr($0,1,11)];next} substr($0,21,31) in a{print}' file2 file1
awk: syntax error near line 1
awk: bailing out near line 1


Please advise on the above error.

Thanks in advance.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

unable to grep the reqd field

hi all, i have a data sm thg like this 28504 0 abc 148782859 42 101M nhmmmm ilopo abc 2345432 i want to get only the field which is just aftr abc i,e., 148782859, 2345432 i have used grep /abc\t/ filename to get that but its not working can any 1 help me out (5 Replies)
Discussion started by: anurupa777
5 Replies

2. Shell Programming and Scripting

Explanation reqd for the Unix file

Hi, I have a unix file with the following contents #/usr/bin/sh cd /ct/mr/prod/bin ncm_AdjCob.pl -a /ct/mr/prod/wg/applog_AdjDev.log -c /ct/mr/prod/lib/config/bcmp_AdjDevCob.conf -s /ct/mr/prod/log/syslog can anyone explain what it says. particularly -a ,-c... (5 Replies)
Discussion started by: psthariharan
5 Replies

3. Shell Programming and Scripting

Help reqd in shell scripting..

Hi guys, I am new to shell scripting and I need urgent assistance. I have an xml like : <AgreementNumberFull>13-WY-84252</AgreementNumberFull> <AgreementNumberAbbr>WY84252</AgreementNumberAbbr> <LineOfBusiness>F</LineOfBusiness> <CompanyCode>0005</CompanyCode> <UniqDigit/> <StateCode/> ... (9 Replies)
Discussion started by: puneetkanchi
9 Replies

4. Shell Programming and Scripting

Explanation reqd

Hi, i have a script of following content #!/usr/bin/sh 'exit 255' USR1 ncm_CheckDir.pl -a /cnt/mgr/test/working/applog_CheckDir.log -c /cnt/mgr/test/lib/config/bp_CheckDir.conf -s /cnt/mgr/test/log/syslog filename : BC_CheckDir when i execute ie : sh BC_CheckDir i am getting... (11 Replies)
Discussion started by: psthariharan
11 Replies

5. Shell Programming and Scripting

Shell Script - help Reqd

Hi, I need someone's help in writing a shell script. Since am very new i am stuck . I have 2 files in the same dir. ============================================== FileA Table1~07/07/2009 00:00:00~4 Table1~07/06/2009 00:00:00~41 Table1~07/08/2009 00:00:00~4 ... (8 Replies)
Discussion started by: vijayarajvp
8 Replies

6. Shell Programming and Scripting

shell script reqd - deleting files

I have written a script that deletes files: Requirement: i need to delete the files and to know how many files are deleted i.e the count of files and even i need to display when the started time of deletion and the ending time of deletion. I need to display these two times. script: ... (2 Replies)
Discussion started by: venkatesht
2 Replies

7. Shell Programming and Scripting

unix shell script reqd...

Task: Short Description: To find the files in a particular directory for the previous day, sort them by date and time and e-mail it across to a particular id. And the time is divided into eight fields and based on the time the respective field should be updated with the flag 1. Eight... (7 Replies)
Discussion started by: venkatesht
7 Replies

8. Shell Programming and Scripting

Checklist for Shell Script reqd

Hi, Can anyone provide me with the Code Review Checklist for Shell scripts ?? Thanks in advance. (2 Replies)
Discussion started by: Shivdatta
2 Replies

9. HP-UX

command reference sheet reqd.

hi everybody, i m AIX guy.... due 2 some reason i was also askd 2 work in HP-UX so i think all d concepts r same as AIX.... so i thought it s easy to learn by comparitve study.... if so then wr can i get the materials???????? thanks in advance........ (1 Reply)
Discussion started by: rrlog
1 Replies

10. HP-UX

Help Reqd

Hi I am facing the problem where my HP Unix system date is in accordance with the current date but the logs written by the same is of previous time stamp. Eg. System Date - Thu Mar 15 18:00:04 IST 2007 Syslogs - Mar 15 12:30:10 mac@1 ftpd: FTP LOGIN FROM xx.xxx.xxx.xx , main The ftp... (1 Reply)
Discussion started by: PradeepRed
1 Replies
Login or Register to Ask a Question