从shell脚本将国家代码转换为国家名称

我有一个传递给我的shell脚本的参数an ISO 3166-2 country code,它指定要处理的文件,例如$1 = 'be'

我想找到一个对应的文件,例如be.pdf,并将其重命名为国家/地区名称,例如belgium.pdf

我什至不知道从哪里开始?

查找可以是CSV文件,SQL数据库或其他内容。 我没有偏好。我只需要能够接受输入并查找新值并进行重命名即可。

seraph530 回答:从shell脚本将国家代码转换为国家名称

假设文件中有映射,则可以使用bash关联数组

code=$1
   # Associative array,keyed of country code
declare -A cc
while read xcc xname ; do
  cc[$xcc]=$xname
done < cc_codes.txt

  # Translate,and rename
fullname=${cc[$code]}
mv "$cc.pdf" "$fullname.pdf"

地图文件(cc_codes.txt)由简单的空格分隔

us united_states
be belgium
uk United_Kindom
...

请注意,这使用了bash特定功能

本文链接:https://www.f2er.com/3137501.html

大家都在问