[Solved] Problem replacing numbers with words from a file


this can be accomplished in a single awk call. associate numbers with champions in an array and use it for replacing numbers in second file.

awk 'BEGIN{FS=OFS=","} NR==FNR{a[$1]=$2;next} {$1=a[$1];$2=a[$2]} 1' champions.csv top.csv 
Olaf,Annie,3
Galio,Annie,5
Twisted Fate,Annie,6
Xin Zhao,Annie,1
Urgot,Annie,10
LeBlanc,Annie,9
Vladimir,Annie,11
Kayle,Twisted Fate,12
LeBlanc,Xin Zhao,2
Galio,Galio,6

in case there should be some numbers in top.csv that don’t exist in champions.csv, use the following instead to prevent those numbers from being deleted:

awk 'BEGIN{FS=OFS=","} NR==FNR{a[$1]=$2;next} ($1 in a){$1=a[$1]} ($2 in a){$2=a[$2]} 1' champions.csv top.csv

7

solved Problem replacing numbers with words from a file