Re: awk scripts problem after upgrade from RHEL-2.1 to RHEL-4

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

 



Try to add this option set -x  in your script "second line" to debug it and
check for the syntax may be some one change something , set -x will help
you.

On 5/12/06, Ben Russo <ben@xxxxxxxxxxxxxxx> wrote:

We had two almost identical servers running RHEL-2.1
One of them we upgraded to RHEL-3, then to RHEL-4 (in a two stroke
process).

                 up2date -u
        boot from rhel-3 cd#1,
                boot: linux upgrade
        default options all the way
        reboot
                up2date -u
        boot from rhel-4 cd#1
                boot: linux upgrade
        default options all the way
        reboot
                up2date -u

Now the second server (which was working fine yesterday) is RHEL-4
and old legacy accounting scripts don't work.

A regular user on the system has a script called "idxlist"
it is:

        [ -z "$LOCAL" ] && LOCAL=/u/apps/utilities
        awk -f$LOCAL/idxlist.awk -v date=$1 -v ext=$2 $LOCAL/idxpath

idxlist.awk's contents look like this:

BEGIN           {
                 dash=index(date,"-")
                 plus=index(date,"+")
                 if (dash!=0)
                         {
                         range=1
                         beg=substr(date,1,dash-1)
                         end=substr(date,dash+1)
                         if (length(end)<6)
                                 end=substr(beg,1,6-length(end)) end
                         }
                 else if (plus!=0)
                         {
                         sequence=1
                         beg=substr(date,1,plus-1)
                         count=substr(date,plus+1)+0
                         }
                 else    {
                         singular=1
                         }
                 if(ext!="")
                         ext="." ext
                 }
/^\*/           {next}
singular && substr(date,1,4)==$1        {
                 look=1
#               NF=0
                 "ls " $2 "arc" date "*" | getline
                 if (NF==0)
                         print 0
                 else print substr($1,1,length($1)-4) ext
                 next
                 }
sequence==1     {
                 while("ls " $2 | getline file)
                         {
                         look=1
                         arc=(substr(file,1,3)=="arc")
                         nam=index(file,"arc")
                         #dat=substr(file,nam+3,6)+0
                         dat=substr(file,nam+3,6)
                         if (dat==beg&&start==0)
                                 start=1
                         if (arc && start && start<=count)
                                 {
                                 if (found[dat]==0)
                                         {
                                         print $2
substr(file,1,length(file)-4) ext
                                         start++
                                         }
                                 found[dat]=1
                                 }
                         }
                 next
                 }
range==1        {
                 while("ls " $2 | getline file)
                         {
                         look=1
                         nam=index(file,"arc")
                         #dat=substr(file,nam+3,6)+0
                         dat=substr(file,nam+3,6)
                         if (dat>=beg && dat<=end)
                                 {
                                 if (found[dat]==0)
                                         print $2
substr(file,1,length(file)-4) ext
                                 found[dat]=1
                                 }
                         }
                 }
END     {
         if (look==0)
                 print 0
         }

######  END OF IDXLIST.AWK

That would seem pretty simple.
The script just takes a date in the form of   060512    or 060507+5  or
060512-11

and it would give you a list of files in the directories that are listed
in /u/apps/utilities/idxpath that contain the date string in the range
given.

It works fine on server 1 (RHEL-2.1)  but not on the upgraded server
(RHEL-4)

any ideas?

-Ben.

--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list




--
----------------------------------
Best Regards
Waleed Harbi
Saudi Arabia
--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subjecthttps://www.redhat.com/mailman/listinfo/redhat-list


[Index of Archives]     [CentOS]     [Kernel Development]     [PAM]     [Fedora Users]     [Red Hat Development]     [Big List of Linux Books]     [Linux Admin]     [Gimp]     [Asterisk PBX]     [Yosemite News]     [Red Hat Crash Utility]


  Powered by Linux