bash - 将国家代码转换为表情符号
问题描述
我正在尝试将此 JS 代码转换为 Bash 脚本。
'US'.replace(/./g, char => String.fromCodePoint(char.charCodeAt(0) + 127397))
// it prints:
这是我到目前为止所做的。
CHAR_TO_INT_1=$(printf '%d' "'U") # 85
NEW_CHAR_CODE_1=$(($CHAR_TO_INT_1 + 127397)) # 127482
NEW_CHAR_TO_STR_1=$(echo $NEW_CHAR_CODE_1 | awk '{printf("%c", $1)}') # ?
CHAR_TO_INT_2=$(printf '%d' "'S") # 83
NEW_CHAR_CODE_2=$(($CHAR_TO_INT_2 + 127397)) # 127480
NEW_CHAR_TO_STR_2=$(echo $NEW_CHAR_CODE_2 | awk '{printf("%c", $1)}') # ?
EMOJI=$NEW_CHAR_TO_STR_1$NEW_CHAR_TO_STR_2 # ??
但我??
进了航站楼。我想我错过了一些东西。
解决方案
你应该替换%c
for printf
,%3s
概念证明:
printf('%3s',$1)
推荐阅读
- java - 如何使用观察者模式刷新 SpringSecurityConfig?
- angular - 如何在服务中包含私钥而不将其放在前端代码中?
- c# - 如何为封闭泛型的闭包类型的完整层次结构解析所有服务类型
- jquery - 设置下拉列表的文本值不断重置
- python - 如何让 Python 打开的终端保持活跃?
- excel - 使用现有图像形状更改按钮图像
- spring - spring security中全局认证和本地认证的区别
- javascript - 使用 Redux 为 react-country-region-selector 提交表单
- python - 我正在为 beta 桶重构而苦苦挣扎
- keras - 如何打印从 keras 中的 imageDataGenerator 训练的每个批处理文件