查字典:
- 字典文件cidian.igo,其中第一列是工号,第二列是名字,以空格分隔
- 输入一行以逗号为分隔符的工号,输出一行以逗号为分隔符的姓名
#!/bin/bash
# 检查是否提供了输入数据
if [ -z "$1" ]; then
echo "请提供输入数据作为参数"
exit 1
fi
# 定义字典文件路径
DICT_FILE="cidian.igo"
# 检查字典文件是否存在
if [ ! -f "$DICT_FILE" ]; then
echo "字典文件 $DICT_FILE 不存在"
exit 1
fi
# 处理输入数据:去掉空格,将中文逗号转换为英文逗号
INPUT=$(echo "$1" | tr -d ' ' | sed 's/,/,/g')
# 读取字典文件到关联数组中
declare -A DICT
while IFS=' ' read -r KEY VALUE; do
DICT["$KEY"]="$VALUE"
done < "$DICT_FILE"
# 输出处理后的结果
IFS=',' read -ra ADDR <<< "$INPUT"
for i in "${ADDR[@]}"; do
# 如果在字典中有对应的键,则替换为值,否则保持原样
if [[ ${DICT[$i]+_} ]]; then
echo -n "${DICT[$i]},"
else
echo -n "$i,"
fi
done
echo # 打印换行符结束输出