我需要将一个字符串拆分为一个数组。我的问题是分隔符是 3 个字符:_-_
例如:
db2-111_-_oracle12cR1RAC_-_mariadb101
我需要创建以下数组:
db2-111
oracle12cR1RAC
mariadb101
这种方法也提出了类似的问题:
str="db2-111_-_oracle12cR1RAC_-_mariadb101"
arr=(${str//_-_/ })
echo ${arr[@]}
即使创建了数组,它也被错误地分割:
db2
111
oracle12cR1RAC
mariadb101
看来第一项中的“-”字符导致数组的 split 函数失败。
你能建议修复它吗?谢谢
如果可以的话,更换_-_
与另一个序列single可用于字段拆分的字符。例如,
$ str="db2-111_-_oracle12cR1RAC_-_mariadb101"
$ str2=${str//_-_/#}
$ IFS="#" read -ra arr <<< "$str2"
$ printf '%s\n' "${arr[@]}"
db2-111
oracle12cR1RAC
mariadb101
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)