在Bash脚本中,我想将一行分成几部分并将它们放入一个数组中。
该行:
ParisABFranceABEurope
我想将它们拆分成这样的数组(使用AB):
array[0] = Paris
array[1] = France
array[2] = Europe
我想使用简单的代码,命令的速度并不重要。我该怎么办?
答案 0 :(得分:4)
这是一个不需要子壳的(即它都是内置的)。您需要选择一个不能出现在数据中的分隔符(此处str='ParisABFranceABEurope'
IFS='@' read -r -a words <<< "${str//AB/@}"
echo "${words[0]}"
echo "${words[1]}"
echo "${words[2]}"
):
$ source foo.sh
Paris
France
Europe
鼓声,请...
XElement root = new XElement("root", new XElement[] {
new XElement("text", "text1"),
new XElement("text", "text2")
});
答案 1 :(得分:0)
$declare -a array=($(echo "ParisABFranceABEurope" | awk -F 'AB' '{for (i=1;i<=NF;i++) print $i}'))
$ echo "${array[@]}"
Paris France Europe