Bash 是否可以通过索引从字符串变量中获取元素?
如果我有一个变量,其中有多个由空格分隔的字符串元素,那么可以通过提供索引来获取元素吗?您可以对数组执行类似的操作吗Bash 是否可以通过索引从字符串变量中获取元素?,bash,Bash,如果我有一个变量,其中有多个由空格分隔的字符串元素,那么可以通过提供索引来获取元素吗?您可以对数组执行类似的操作吗 my_var="string1 string2 string3 string4" echo $[my_var[3]] # this does not work 你用。。。数组 $ my_var=("string1" "string2" "string3" "string4") $ echo "${my_var[3]}" string4 但是,您可能会问,给定原始字符串,是否可以
my_var="string1 string2 string3 string4"
echo $[my_var[3]] # this does not work
你用。。。数组
$ my_var=("string1" "string2" "string3" "string4")
$ echo "${my_var[3]}"
string4
但是,您可能会问,给定原始字符串,是否可以将其拆分为数组
$ read -a arr <<< "$my_var"
但一般来说,作为列表的字符串是脆弱的。您可以使用
read
命令存储它,并适当设置输入字段分隔符。这与当前输入无关,因为默认的IFS
处理单词之间的单个空白字符
IFS=' ' read -ra inputArray <<<"$my_var"
当你想要第三个单词时,你可以使用
cut -d" " -f3 <<< ${my_var}
cut-d”“-f3为此使用数组。
printf "%s\n" "${inputArray[0]}"
string1
cut -d" " -f3 <<< ${my_var}