Re: problem with awk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Adel ESSAFI wrote:
> Hello,
> I have a "little" proble with awk
>  here I have a file which contain data like this
> 
> 
> 101663.dat
> 1 122837.920343696
> 1 121875.899726134
> 1 8011.13164749145
> 1 24955.1102952732
> 
> 
> when I execute
> 
> awk    'BEGIN { }
>       echo $2
>       END   { print "Fin" }
> ' testclean
> 
> 
> I got this outpout
> 
> 1 122837.920343696
> 1 121875.899726134
> 1 8011.13164749145
> 1 24955.1102952732
> 
> while I am expecting to get
> 
> 122837.920343696
> 121875.899726134
> 8011.13164749145
> 24955.1102952732
> 
> without 1 at the beginning of the line. Can you help please.

Try this one:

  awk 'BEGIN{} {print $2} END{print "Fin"}'

Without the {}, your $2 was in some way interpreted as a filter (true if $2 not empty).
In fact

  awk '$2'

is like

  awk '$2{print}'

and prints the entire line if it contains two or more words.

So you line probably means
- evaluate if echo (I suppose this returns false) and do the default action (print the line)
- evaluate if $2 exists (in your case it is true) and do the default action (print the line)

(conclusions based on improvised experimentation)

-- 
   Roberto Ragusa    mail at robertoragusa.it
-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux