problem with awk
Dave Ulrick
d-ulrick at comcast.net
Wed Jun 2 18:44:16 UTC 2010
On Tue, 1 Jun 2010, Dave Ulrick wrote:
> Looks like a field separator (FS) problem. The field separator is used by
> 'awk' to divide a line into fields. The default 'awk' field separator is
> "\t" (tab) but your fields are separated by spaces. Try adding this inside
> the BEGIN {} block:
>
>
> FS = " ";
>
>
> This would give you a script like this:
>
>
> awk 'BEGIN { FS = " "; }
> echo $2
> END { print "Fin" }
> ' testclean
>
> Alternatively, you may specify the field separator as an 'awk' option:
>
> awk -F " " '<your script>' testclean
Oops! I zoomed in on the field separator issue without noticing that the
rest of your script isn't quite correct. Here's a one-liner that should
solve your stated problem:
awk -F "\t" '{print $2}' <filename>
This command will print the second tab-delimited field of every record of
a file.
Dave
--
Dave Ulrick
Email: d-ulrick at comcast.net
More information about the users
mailing list