hi, i have a series of files like this one:

              D22 L58 two
              O12 L58 two
              Z5 L58 two
              Z19 L58 two

and i want to make the first column into a variable ($var) that will be used in the rest of the shell script
This is my awk script so far :

awk '{
   for (i = 1; i <= 1; i++)
   print "var="$i
   }' L58vector.txt > test.txt

but instead of producing a file (test.txt) containing just one ' var=D22'
i get:

         var=D22
         var=O12
         var=Z5
         var=Z19 

which renders the variable useless.

i then want to match this variable to the same number in another file which contains latitude and longitude data and print them to an output file before starting again with the next variable (var=O12)

can anyone help?

Recommended Answers

All 3 Replies

awk runs it's script once per line of input in the file. it automatically advances to the next record and feeds the input to your script. $1 is the first field of a record, and you print it once per record

This is true of sed, also.

Perhaps something as simple as

var=`head -1 tex 2>&1|awk '{print $1}'`

woud do it ?

, Best wishes,

Mike

awk 'NR==1{ print "var="$1}' file
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.