最初の文字の後にスペースを追加[閉じる]

最初の文字の後にスペースを追加[閉じる]

私はこのような文字列を持っています

8prob566459

希望の出力:

8 prob566459

ベストアンサー1

ファイルのすべての行に適用する必要がある場合:

sed 's/./& /' < file

シェル変数に格納された文字列に適用するには:

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 }"

またはzshksh93またはbash

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

おすすめ記事