The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 02-11-2009
fedora fedora is offline
Registered User
  
 

Join Date: Jul 2006
Posts: 94
how to fix this awk script?

i have a log file while looks like this

++
user_a blabla
blabla nas_b blabla user_d
this is a user_a
junk line
another junk line
user_c nas_m blabla
++

basically most of the lines contain a "user" keywords, and the rest of the lines do not have "user" at all.

So I have the following script, which just extracts the user part(if that line has a user keyword) from each line

awk '{ for (i=0; i<=NF; i++)
if($i~/user/)
{a=$i}
else
{continue}
{print a}
}' /tmp/test

and when I run it, I got the following result

user_a
user_d
user_a
user_a #<===actually there is no user in that line at all.
user_c

why this happens and how can I fix my script? thanks