我有一个字符串示例:
test_string="13A6"
这些字符/数字可以是从 0 到 9 和从 A 到 F 的任意组合。
我希望得到以下输出:
1 3 A 6
我已经做到了这一点:
result=$(echo ${test_string} | sed 's/./& /g')
我希望不使用sed来完成它...我还有另一个解决方案,但我不太喜欢...有点 '脏' :S
[[ ${test_string} =~ ^([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F]) ]] && result="${BASH_REMATCH[1]} ${BASH_REMATCH[2]} ${BASH_REMATCH[3]} ${BASH_REMATCH[4]}"
如果可能的话,我希望使用纯Bash语法:
result=${variable//pattern/replacement}
,但不确定如何在这种纯Bash语法中像sed一样引用匹配的字符本身,比如"&"。有哪位Bash专家可以帮忙吗? :)