从shell脚本将国家代码转换为国家名称
我将一个参数传递给shell脚本,该脚本指定要处理的文件,例如从shell脚本将国家代码转换为国家名称,shell,Shell,我将一个参数传递给shell脚本,该脚本指定要处理的文件,例如$1='be' 我想找到一个相应的文件,例如be.pdf,并将其重命名为国家名称,例如belgour.pdf 我甚至不知道从哪里开始 查找可以是CSV文件、sql数据库或其他内容。 我没有偏好。我只需要能够获取输入并查找新值并进行重命名。假设文件中有映射,可以使用bash关联数组 code=$1 # Associative array, keyed of country code declare -A cc while read
$1
='be'
我想找到一个相应的文件,例如be.pdf
,并将其重命名为国家名称,例如belgour.pdf
我甚至不知道从哪里开始
查找可以是CSV文件、sql数据库或其他内容。
我没有偏好。我只需要能够获取输入并查找新值并进行重命名。假设文件中有映射,可以使用
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"
请注意,这使用了特定于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"
请注意,这使用了bash特有的功能,看起来很棒,这正是我想要的。让我来测试一下,它看起来很不错——这正是我想要的。让我测试一下