awk and date command

Lou Spironello lspironello at gmail.com
Thu Nov 22 20:51:12 UTC 2007


Hello Ann:

I'm assuming that the data file is "clean" i.e. NO extraneous lines (i.e.
blank, non-printables, etc)

Use a printf statement as follows:

    printf "File No: CGA%03d\n",NR

A little explanation is in order with this one.  The "0" (zero) after the %
sign indicates a zero pading.
The 3 indicates the "size" of the numeric pad.  The "d" indicated numeric
integer.  The "\n" is newline.
The NR is an awk system variable for the current "record number."  Thus my
stipulation before
about the other "stuff" in the file, i.e. blank lines, non-printables, lines
before and after the textual body, etc

Hope this helps.

Regards,
Lou
P.S. Awk!  Awk!  Awk!  (that's supposed to be laughter)

On Nov 22, 2007 1:20 PM, ann kok <annkok2001 at yahoo.com> wrote:

> Thank you again
>
> here is expectation output
>
> eg:
>
> awk -v DT=`date +%Y%m%d` program.awk record.txt
>
> The result is
>
>
> File No: CGA001
> Name: AAA
> Country: USA
> Created: 20071122
> Updated: 20071122
>
>
> File No: CGA002
> Name: BBB
> Country: Australia
> Created: 20071122
> Updated: 20071122
>
>
> File No: CGA003
> Name: CCC
> Country: England
> Created: 20071122
> Updated: 20071122
>
>
> The program is program.awk
>
>     BEGIN { RS = "\n" ; FS = "|" }
>
>     {
>           print "File No:", CGAxxx <=== how to
> change?
>           print "Name:", $1
>           print "Country:", $2
>           printf "Created: %s\n", DT
>           printf "Updated: %s\n", DT
>           print ""
>     }
>
>
> the record.txt is
>
> AAA|USA
> BBB|Australia
> CCC|England
>
>
> Thank you
>
>
>
>
>
>
> --- Lou Spironello <lspironello at gmail.com> wrote:
>
> > Hello Ann:
> >
> > man (g)awk
> >
> > :-)
> >
> > awk -v | --assign  <internal variable
> > name>=<variable value> <other awk
> > options and stuff>
> >
> >
> > Not quite sure what you want to do do.  Can you show
> > the resulting output or
> > be a bit more specific.
> >
> >
> > Regards,
> > Lou
> > On Nov 22, 2007 12:55 PM, ann kok
> > <annkok2001 at yahoo.com> wrote:
> >
> > > Hi Lou
> > >
> > > Thank you very much
> > >
> > > One more question. how can I put the CGA number as
> > > variable?
> > >
> > > eg: CGA001, CGA002..... when
> > > i run the program
> > >
> > > awk -v CGA=`for loop` program.awk file.txt
> > >
> > > or any way to do it?
> > >
> > > Thank you again
> > >
> > >
> > >
> > > BEGIN { RS = "\n" ; FS = "|" }
> > > {
> > > print "File No.: CGA001
> > > print ""
> > > }
> > >
> > >
> > > --- Lou Spironello <lspironello at gmail.com> wrote:
> > >
> > > > awk -v HST=`hostname` -f program.awk file.txt
> > > >
> > > > inside program.awk
> > > > use:
> > > >
> > > >   printf "from: %s\n",HST
> > > >
> > > > Regards,
> > > > Lou
> > > >
> > > > On Nov 21, 2007 3:41 PM, ann kok
> > > > <annkok2001 at yahoo.com> wrote:
> > > >
> > > > > Thank you
> > > > >
> > > > > but i don't know how to put the hostname in
> > awk
> > > > > program
> > > > >
> > > > > eg: my program is "program.awk
> > > > >
> > > > > awk -f program.awk file.txt
> > > > >
> > > > > Thank you again
> > > > >
> > > > > BEGIN { RS = "\n" ; FS = "|" }
> > > > >
> > > > >  {
> > > > > print "Name:", $9
> > > > > print "Created: `date`"
> > > > > print "from: `hostname`"
> > > > > print ""
> > > > > }
> > > > >
> > > > >
> > > > > --- Lou Spironello <lspironello at gmail.com>
> > wrote:
> > > > >
> > > > > > Hope this helps.
> > > > > >
> > > > > > echo "test" | awk -v mydate=`date +%Y%m%d`
> > > > '{printf
> > > > > > "standard input is
> > > > > > %s\nmy variable value is %s\n",$1,mydate}'
> > > > > >
> > > > > > :-)
> > > > > >
> > > > > >
> > > > > > Regards,
> > > > > > Lou
> > > > > >
> > > > > > On Nov 21, 2007 12:22 PM, ann kok
> > > > > > <annkok2001 at yahoo.com> wrote:
> > > > > >
> > > > > > > Hi all
> > > > > > >
> > > > > > > how can I print date in this date format?
> > > > 20071122
> > > > > > >
> > > > > > > Can command "date, hostname" run in awk
> > > > program
> > > > > > > itself?
> > > > > > >
> > > > > > > program.awk
> > > > > > >
> > > > > > >     BEGIN { RS = "\n" ; FS = "|" }
> > > > > > >
> > > > > > >     {
> > > > > > >           print "Name:", $9
> > > > > > >           print "Created: `date`"
> > > > > > >           print "from: `hostname`"
> > > > > > >           print ""
> > > > > > >     }
> > > > > > >
> > > > > > > Thank you
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
> ____________________________________________________________________________________
> > > > > > > Be a better pen pal.
> > > > > > > Text or chat with friends inside Yahoo!
> > Mail.
> > > > See
> > > > > > how.
> > > > > > > http://overview.mail.yahoo.com/
> > > > > > >
> > > > > > > --
> > > > > > > fedora-list mailing list
> > > > > > > fedora-list at redhat.com
> > > > > > > To unsubscribe:
> > > > > >
> > > >
> > https://www.redhat.com/mailman/listinfo/fedora-list
> > > > > > >
> > > > > > > --
> > > > > > fedora-list mailing list
> > > > > > fedora-list at redhat.com
> > > > > > To unsubscribe:
> > > > >
> > > >
> > https://www.redhat.com/mailman/listinfo/fedora-list
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
> ____________________________________________________________________________________
> > > > > Get easy, one-click access to your favorites.
> > > > > Make Yahoo! your homepage.
> > > > > http://www.yahoo.com/r/hs
> > > > >
> > > > > --
> > > > > fedora-list mailing list
> > > > > fedora-list at redhat.com
> > > > > To unsubscribe:
> > > >
> > https://www.redhat.com/mailman/listinfo/fedora-list
> > > > >
> > > > > --
> > > > fedora-list mailing list
> > > > fedora-list at redhat.com
> > > > To unsubscribe:
> > >
> > https://www.redhat.com/mailman/listinfo/fedora-list
> > >
> > >
> > >
> > >
> > >
> >
>
> ____________________________________________________________________________________
> > > Be a better pen pal.
> > > Text or chat with friends inside Yahoo! Mail. See
> > how.
> > > http://overview.mail.yahoo.com/
> > >
> > > --
> > > fedora-list mailing list
> > > fedora-list at redhat.com
> > > To unsubscribe:
> > https://www.redhat.com/mailman/listinfo/fedora-list
> > >
> > > --
> > fedora-list mailing list
> > fedora-list at redhat.com
> > To unsubscribe:
> https://www.redhat.com/mailman/listinfo/fedora-list
>
>
>
>
>  ____________________________________________________________________________________
> Be a better pen pal.
> Text or chat with friends inside Yahoo! Mail. See how.
> http://overview.mail.yahoo.com/
>
> --
> fedora-list mailing list
> fedora-list at redhat.com
> To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20071122/797b5482/attachment-0001.htm>


More information about the fedora-list mailing list