从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

我将一个参数传递给shell脚本,该脚本指定要处理的文件,例如
$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特有的功能,看起来很棒,这正是我想要的。让我来测试一下,它看起来很不错——这正是我想要的。让我测试一下