Code Files

mailboxlist.awk

Generated on Tue Dec 05 17:39:06 Eastern Standard Time 2006 from mailboxlist.awk


# Program   :   mailboxlist.awk
# Purpose   :   Extract all non-generic, visible, Domain=COT* accounts from USERS.CSV
# Date      :   17 November 2006
# Author    :   Bob Jonkman

# Input fields for USERS.CSV

#   $1  "Domain"
#   $2  "Post-Office"
#   $3  "Object"
#   $4  "Last-Name"
#   $5  "First-Name"
#   $6  "Phone"
#   $7  "Fax"
#   $8  "Department"
#   $9  "Title"
#   $10 "Visibility"
#   $11 "Network-ID"
#   $12 "Account-ID"
#   $13 "User-Def-1"    Location
#   $14 "User-Def-2"    Division
#   $15 "User-Def-3"    Mobile
#   $16 "User-Def-4"    Pager
#   $17 "User-Def-5"    Division Info
#   $18 "User-Def-6"    Preferred Name
#   $19 "User-Def-7"    Section
#   $20 "User-Def-8"    Unit
#   $21 "User-Def-9"
#   $22 "User-Def-10"

BEGIN       {   OFS = "," ;
                ORS = "" ;

                idomain = "@sobac.com" ;

                print("Last-Name,First-name,Mailbox,Phone,Fax,Mobile,Pager,Location,Title,Department,Division,Section,Unit,Domain,Post-Office,Object") ;

}


# Provide visual record count indicator
!(NR % 1000){   print( NR "\n") > "/dev/stderr" ;
}


FNR != 1    {   parsecsv($0, field) ;
                
                # Domain starts with "COT", First-Name exists, Visibility != "None"
                if ( (substr(field[1],1,3)=="COT") && (field[5]) && (field[10] != "None") )
                {
                    print("\n")                             | "sort" ;
                    print(printcsv(field[4])  ",")          | "sort" ; #   Last-name
                    print(printcsv(field[5])  ",")          | "sort" ; #   First-name
                    print(printcsv(tolower(field[3]) idomain) ",")   | "sort" ; #   Mailbox
                    print(printcsv(field[6])  ",")          | "sort" ; #   Phone
                    print(printcsv(field[7])  ",")          | "sort" ; #   Fax
                    print(printcsv(field[15]) ",")          | "sort" ; #   Mobile
                    print(printcsv(field[16]) ",")          | "sort" ; #   Pager
                    print(printcsv(field[13]) ",")          | "sort" ; #   Location
                    print(printcsv(field[9])  ",")          | "sort" ; #   Title
                    print(printcsv(field[8])  ",")          | "sort" ; #   Department
                    print(printcsv(field[14]) ",")          | "sort" ; #   Division
                    print(printcsv(field[19]) ",")          | "sort" ; #   Section
                    print(printcsv(field[20]) ",")          | "sort" ; #   Unit
                    print(printcsv(field[1])  ",")          | "sort" ; #   Domain   
                    print(printcsv(field[2])  ",")          | "sort" ; #   Post-Office
                    print(printcsv(field[3]))               | "sort" ; #   Object
                    total++ ;
                }
}

END         {   print("\n=====") ;
                print("\nTotal," total) ;
}

# EOF: mailboxlist.awk

   

1 files processed.