我有一个字符串-w o rd
。
我需要将它拆分为w o r d
或数组,因为'w' 'o' 'r' 'd'
它并不重要。
我已经尝试了以下
IFS='\0- ' read -a string <<< "-w o rd"
echo ${string[*]}
Run Code Online (Sandbox Code Playgroud)
rd
不会分裂。我怎样才能让它分裂
你不能在bash使用IFS就没有什么(它拆分有是一个字符)。r
和d
in之间没有字符rd
。无空格和无字符与空字符不同。
如果您希望每个字符作为数组中的一个单独元素,我能想到的一种方法是单独读取每个字符并将其附加到数组中(并使用 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")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
720 次 |
最近记录: |