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.