在第一个字符后添加空格

在第一个字符后添加空格

我有这样的字符串

8prob566459

所需输出:

8 prob566459

答案1

如果您需要将其应用于文件的每一行:

sed 's/./& /' < file

要将其应用于存储在 shell 变量中的字符串:

string=8prob566459
printf '%s\n' "${string%"${string#?}"} ${string#?}"

尽管你也可以这样做:

printf '%s\n' "$string" | sed '1s/./& /'

或者与zsh

printf '%s\n' "$string[1] $string[2,-1]"

或者:

setopt extendedglob # best in ~/.zshrc
printf '%s\n' ${string/(#m)?/$MATCH }

或者与ksh93

printf '%s\n' "${string/?/\0 }"

或与zsh,ksh93bash:

printf '%s\n' "${string:0:1} ${string:1}"

答案2

echo "$(echo 8prob566459 | cut -c 1 ) $(echo 8prob566459 | cut -c 2- )"

这会起作用

相关内容