私はロープを持っています-w o rd
。重要ではないので、配列または配列に分割
する必要があります。私は次を試しました w o r d
'w' 'o' 'r' 'd'
IFS='\0- ' read -a string <<< "-w o rd"
echo ${string[*]}
rd
分けられませんでした。どうやって作ることができますか?
ベストアンサー1
IFSを使用してbashで何も分割することはできません(持つ)r
とd
の間には文字がありませんrd
。スペースや文字はヌル文字と変わりません。
各文字を配列の別々の要素として望む場合、私が考えることができる1つの方法は、各文字を個別に読み込み、それを配列に追加することです(そしてIFSを使用してスペースと削除する-
)。
bash-4.4$ while IFS=' -' read -n1 c ; do [[ -n $c ]] && foo+=("$c"); done <<<"-w o rd"
bash-4.4$ declare -p foo
declare -a foo=([0]="w" [1]="o" [2]="r" [3]="d")