Hi Giorgos

Thank you

But my output is from your suggstion 
printf "Created: %s\n", system("date +%Y%m%d");

20071122
Created: 0
20071122
Updated: 0

how can I have output as

Created: 20071122
Updated: 20071122

In additon,

ls it possible to have loop output also?

I need to have

print "File No:", CMA001 

the second record is CMA002 and then CMA003 for the
3rd record

awk -f program.awk record.txt

Thank you again






--- Giorgos Keramidas <[EMAIL PROTECTED]>
wrote:

> On 2007-11-21 12:26, ann kok <[EMAIL PROTECTED]>
> wrote:
> > Hi all
> > how command "date, hostname" run in awk program?
> >
> > awk -F program.awk file.txt
> 
> You don't use backticks...  These are a feature of
> the shell, and
> running a script through progname.awk is no longer a
> shell session.
> 
> Try system("date") in your awk(1) script:
> 
> > program.awk
> >
> >      BEGIN { RS = "\n" ; FS = "|" }
> >
> >      {
> >            print "Name:", $9
> >            print "Created: `date`"   
> >            print "from: `hostname`"
> >            print ""
> >      }
> 
> 
>         BEGIN {
>                 RS ="\n";
>                 FS = "|";
>         }
> 
>         {
>                 printf "Name:    %s\n", $9;
>                 printf "Created: %s\n",
> system("date");
>                 printf "From:    %s\n",
> system("hostname");
>         }
> 
> Running system("hostname") once for each file may be
> horribly
> inefficient, though.  If I were you, I'd write this
> as a *shell* script,
> which runs "hostname" once, stashes the result away
> in a variable, and
> reuses it all the time.
> 
> Running "date" may be a bit less efficient than
> something like
> gettimeofday().  Perl has a gettimeofday() function
> in the Time::HiRes
> module, so it may be worth investigating if that may
> speed things up a
> bit more.
> 
> A completely untested first try to do something like
> this is ...
> 
>         #!/usr/bin/perl -w
> 
>         use strict;
> 
>         use POSIX qw(strftime);
>         use Time::HiRes qw(gettimeofday);
> 
>         my $hostname = `hostname`;
>         my $line;
>         while (defined($line = <STDIN>)) {
>                 chomp $line;
>                 my @fields = split /|/, $line;
>                 if ($#fields >= 0) {
>                         my ($seconds, $microseconds)
> = gettimeofday();
>                         printf "Name:    %s\n",
> $fields[8];
>                         printf "Created: %s\n",
>                             strftime("%Y-%m-%d
> %H:%M:%S", gmtime($seconds));
>                         printf "From:    %s\n",
> $hostname;
>                 }
>         }
> 
> 

--- Giorgos Keramidas <[EMAIL PROTECTED]>
wrote:

> On 2007-11-21 12:26, ann kok <[EMAIL PROTECTED]>
> wrote:
> > Hi all
> > how command "date, hostname" run in awk program?
> >
> > awk -F program.awk file.txt
> 
> You don't use backticks...  These are a feature of
> the shell, and
> running a script through progname.awk is no longer a
> shell session.
> 
> Try system("date") in your awk(1) script:
> 
> > program.awk
> >
> >      BEGIN { RS = "\n" ; FS = "|" }
> >
> >      {
> >            print "Name:", $9
> >            print "Created: `date`"   
> >            print "from: `hostname`"
> >            print ""
> >      }
> 
> 
>         BEGIN {
>                 RS ="\n";
>                 FS = "|";
>         }
> 
>         {
>                 printf "Name:    %s\n", $9;
>                 printf "Created: %s\n",
> system("date");
>                 printf "From:    %s\n",
> system("hostname");
>         }
> 
> Running system("hostname") once for each file may be
> horribly
> inefficient, though.  If I were you, I'd write this
> as a *shell* script,
> which runs "hostname" once, stashes the result away
> in a variable, and
> reuses it all the time.
> 
> Running "date" may be a bit less efficient than
> something like
> gettimeofday().  Perl has a gettimeofday() function
> in the Time::HiRes
> module, so it may be worth investigating if that may
> speed things up a
> bit more.
> 
> A completely untested first try to do something like
> this is ...
> 
>         #!/usr/bin/perl -w
> 
>         use strict;
> 
>         use POSIX qw(strftime);
>         use Time::HiRes qw(gettimeofday);
> 
>         my $hostname = `hostname`;
>         my $line;
>         while (defined($line = <STDIN>)) {
>                 chomp $line;
>                 my @fields = split /|/, $line;
>                 if ($#fields >= 0) {
>                         my ($seconds, $microseconds)
> = gettimeofday();
>                         printf "Name:    %s\n",
> $fields[8];
>                         printf "Created: %s\n",
>                             strftime("%Y-%m-%d
> %H:%M:%S", gmtime($seconds));
>                         printf "From:    %s\n",
> $hostname;
>                 }
>         }
> 
> 



      
____________________________________________________________________________________
Be a better pen pal. 
Text or chat with friends inside Yahoo! Mail. See how.  
http://overview.mail.yahoo.com/
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to