🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.unix.shell
Article #1669

Re: How to get AWK to output 2 fields at once

#1669
From: Steven M. List
Date: Mon, 29 Oct 1990 17:18
42 lines
2015 bytes
jak9213@helios.TAMU.EDU (John Kane) writes:

>In article <297@twg.bc.ca> bill@twg.bc.ca (Bill Irwin) writes:
>>I  have what initially seemed to be a simple requirement:  get the  first
>>two fields from each line in file_1, and use them as a search pattern for
>>GREP to extract matching lines in file_2.  [...]

>>for x in `cat file_1 | awk '{ print $1 " " $2 }'`
>>do
>>        grep "$x" file_2
>>done

>>Of course, the GREP routine executed with x having the value of the first
>>field  of  the  first line of file_1, then with the value of  the  second
>>field  of  the first line of file_1, then the first field of  the  second
>>line, .....

>>Is  there a way to get AWK to output "field_1 field_2" as the value of x,
>>so  that  this  can be used as the search pattern for GREP,  rather  than
>>"field_1" "field_2" "field_1" "field_2"?

>Yep, There is.

>for x in `cat file_1 | awk '{print "\"" $1 " " $2 "\"")'`
>do
>   grep "$x" file_2
>done

This seems a bit complicated, doesn't it?  How about:

    for x in "`cat file_1 | awk '{print $1, $2}'`"
    do
        grep "$x" file_2
    done

That is, why worry about the backslashes and quotes INSIDE AWK, when you
can put them outside?  Clean and simple!
-- 
 +----------------------------------------------------------------------------+
 :                Steven List @ Transact Software, Inc. :^>~                  :
 :           Chairman, Unify User Group of Northern California                :
 :     {apple,coherent,limbo,mips,pyramid,ubvax}!itkin@guinan.Transact.COM    :
Technical Details
Message-ID: <1990Oct29.171816.7459@mrspoc.Transact.COM>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!jarthur!usc!apple!mrspoc!itkin
References: <297@twg.bc.ca> <9622@helios.TAMU.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!jarthur!usc!apple!mrspoc!itkin
From: itkin@mrspoc.Transact.COM (Steven M. List)
Newsgroups: comp.unix.shell
Subject: Re: How to get AWK to output 2 fields at once
Message-ID: <1990Oct29.171816.7459@mrspoc.Transact.COM>
Date: 29 Oct 90 17:18:16 GMT
References: <297@twg.bc.ca> <9622@helios.TAMU.EDU>
Reply-To: itkin@guinan.Transact.COM
Organization: Transact Software, Inc., Los Altos, CA
Lines: 42