abbreviate non-last names
awk '{ if (match($0, /^[ ]*AUTHOR = {(.*)}/, array)) nNames=split(array[1], names, " and "); for(nameNr in names) { split(names[nameNr], lastOthers, ","); nParts=split(lastOthers[2], parts, " "); printf "%s,",lastOthers[1] ; for(pNr=1 ; pNr <=nParts; pNr++) {printf " %s.",substr(parts[pNr],1,1) ; } if(nameNr < nNames) printf " and "; } printf "\n" }'