awk ' BEGIN{ open=false author="" entries = 0 } { if(NF==0){ next } a = $1 if(a~"@"){ c = 0 open = true } if(a=="}" && open==true){ if(author ~ /^[a-zA-Z]+$/ && year ~ /^[0-9]+$/){ key = author year } else{ key = original_key } double_counter = 1 for(i=0; i< entries; i++){ if(key~keys[i]){ double_counter++ } } if(double_counter > 1){ key = key"-"double_counter } keys[entries++] = key print l[0]key"," for(i=1; i all.bib if [ -f "lib.bib" ]; then cat lib.bib >> all.bib fi