2008/1/9, [EMAIL PROTECTED] <[EMAIL PROTECTED]>: > On 9 Jan, Sergio Cuéllar Valdés wrote: > > > 2008/1/9, Paul Csanyi <[EMAIL PROTECTED]>: > >> 2008/1/9, Sergio Cuéllar Valdés <[EMAIL PROTECTED]>: > >> > 2008/1/9, Paul Csanyi <[EMAIL PROTECTED]>: > >> > >> > > I try to use awk to print second field from a text file > >> > > but awk prints a part of 1. field as a 2. field. Why? > >> > > > >> > > aptitude search ~i | awk '{ NF = "2" } { FIELDWIDTHS = " 4 32 " } > >> > > {print $2}' > foltelepitett_debian_csomagok > >> > > > >> > > less foltelepitett_debian_csomagok > >> > > > >> > > .. > >> > > bsdmainutils > >> > > bsdutils > >> > > busybox > >> > > A > >> > > ca-certificates > >> > > checksecurity > >> > >> A record is like these: > >> > >> i busybox - Tiny utilities for small and embedded syst > >> i A bzip2 - high-quality block-sorting file compressor > >> | > >> 1234123456789etc. > >> 1. |2. > >> > >> I try to get only the package name from the 2. field. > >> > >> FIELDWIDTHS = " 4 32 " > >> > >> The given width for 1. field (4) should be right, but isn't. > >> Awk give me the letter "A" as a 2. field. Why? > >> > > It seem that gawk is behaving weirdly when using FIELDWIDTHS. It splits > the input line into one less field that the number given. > > Is this a bug that should be reported? Try this:
I don't know. > $ aptitude search ~i | awk 'BEGIN {FIELDWIDTHS="4 32 1"} {print $2}' | head > acpi > adduser > alsa-base > alsa-utils > amarok > amarok-engines > amarok-xine > apt > apt-build > apt-doc Thank you! -- Regards, Paul Csanyi http://www.freewebs.com/csanyi-pal/index.htm