我正在尝试将此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 # ??
但是我在终端中收到??
。我想我缺少了什么。
答案 0 :(得分:0)
您应将%c
中的printf
中的%3s
替换为 printf('%3s',$1)
,以证明概念:
{{1}}