How about this (without an external utility):
str="13A6"
[[ $str =~ ${str//?/(.)} ]]
printf '%s\n' "${BASH_REMATCH[*]:1}"
Result (without trailing space):
"1 3 A 6"
Or if you need to use a different delimiter:
[[ $str =~ ${str//?/(.)} ]]
( IFS=$'\n'; printf "%s\n" "${BASH_REMATCH[*]:1}")
, IFS :
divide(){
[[ $1 =~ ${1//?/(.)} ]]
local IFS=${2:-' '}
printf '%s\n' "${BASH_REMATCH[*]:1}"
}
divide "13A6" "-"
:
${str//?/(.)}
[[ $str =~ ]]
printf '%s\n' "${BASH_REMATCH[*]:1}"
@chepner @ * . .