这是一个国家名称和lat和long的文件:
$ cat country_with_lat_long
country,latitude,longitude,name,countrycode
AU,-25.274398,133.775136,Australia,Unknown
CN,35.86166,104.195397,China,Unknown
DE,51.165691,10.451526,Germany,Unknown
FR,46.227638,2.213749,France,Unknown
NZ,-40.900557,174.885971,New Zealand,Unknown
WS,-13.759029,-172.104629,Samoa,Unknown
CH,46.818188,8.227512,Switzerland,Unknown
US,37.09024,-95.712891,United States,Unknown
VU,-15.376706,166.959158,Vanuatu,Unknown
这是带有int代码的文件
$ cat country_with_code
name,code
Australia,61
China,86
France,33
Germany,49
New Zealand,64
Samoa,685
Switzerland,41
United Kingdom,44
United States,1
Vanuatu,678
如何在bash中执行vlookup,以便我可以从country_with_code
获取代码并将其与country_with_lat_long
列中countrycode
文件中的国家/地区相匹配?< /强>
EDIT1如果有的话,试着更好地理解下面的答案以供我参考
-F =输入字段分隔符变量
-v = ??每次转让前都需要
OFS =输出场分离器变量
NR = FNR变量包含读取的行数,但每次读取的文件都会重置。 NR变量累计读取的所有文件
FNR =见here
code [$ 1] =将country_with_code中的field2加载到field1的索引数组中
$ 2 =这是此文件country_with_code的field2
$ 4 = ??认为这是country_with_lat_long中的字段4
$ NF =字段数变量,认为这是我要在country_with_lat_long
文件中写入的字段,在这种情况下为$ 5
代码[$ 4] = ??