我有一个传递给我的shell脚本的参数an ISO 3166-2 country code,它指定要处理的文件,例如$1
= 'be'
。
我想找到一个对应的文件,例如be.pdf
,并将其重命名为国家/地区名称,例如belgium.pdf
。
我什至不知道从哪里开始?
查找可以是CSV文件,SQL数据库或其他内容。 我没有偏好。我只需要能够接受输入并查找新值并进行重命名即可。
答案 0 :(得分:3)
假设文件中有映射,则可以使用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特定功能