: !/bin/sh awk -F '|' ' function trim(s) { sub(/^[ \t]*/,"",s) sub(/[ \t]*$/,"",s) return s } function ld_tbsservice(servicefile) { #printf("ld_tbsservice(%s)\n", servicefile) while ( (getline aline < servicefile) > 0 ) { split(aline, a_arr, "|") ##printf("aline=%s\n", aline) f = 0 ServiceIDID = trim(a_arr[++f]) ServiceID = trim(a_arr[++f]) CentreID = trim(a_arr[++f]) CentreDesc = trim(a_arr[++f]) DeptID = trim(a_arr[++f]) DeptDesc = trim(a_arr[++f]) GrpID = trim(a_arr[++f]) GrpDesc = trim(a_arr[++f]) ShipTo = trim(a_arr[++f]) FullName = trim(a_arr[++f]) ServiceActive = trim(a_arr[++f]) Code = trim(a_arr[++f]) ServType = trim(a_arr[++f]) PersonID = trim(a_arr[++f]) Person = trim(a_arr[++f]) Location = trim(a_arr[++f]) System = trim(a_arr[++f]) Batchtype = trim(a_arr[++f]) InstallationDate = trim(a_arr[++f]) TerminationDate = trim(a_arr[++f]) if ( PersonID == "" ) continue #Obj= "CentreID" #ObjID = CentreID #ObjDesc = CentreDesc Obj= "ShipTo" ObjID = ShipTo ObjDesc = FullName ObjID_to_ObjDesc_arr[ObjID] = ObjDesc havObjID = PersonID_to_ObjID_arr[PersonID] if ( havObjID != "" && havObjID != ObjID ) { print "Dup Person/" Obj " PersonID=" PersonID " (" Person ")" " Have " havObjID " (" ObjID_to_ObjDesc_arr[havObjID] ")" " Found " ObjID " (" ObjDesc ")" } PersonID_to_ObjID_arr[PersonID] = ObjID } close(servicefile) } BEGIN { ld_tbsservice("tbsservice.unl") exit(0) } { } '