解析 bash 中的字符串并将其设置在变量中

Parsing the string in bash and setting it in variables

请帮忙解决这个问题:

我有字符串(将来会一直是长度字符串和字符串 chagne 中的元素)例如:

ataat1, atata2|ololo1 ololo2|pishpish1 pishpish1

我如何使用循环获取这些值并将其用作变量:(ex)

循环的第一步我有两个变量s1 = ataat1和s2 = ataat2,在下一步中s1 = ololo1和s2 = ololo2

求助!!!并且字符串中的元素一直在变化

您可以使用:

s='ataat1, atata2|ololo1 ololo2|pishpish1 pishpish1'

while IFS='[, ]' read -r s1 s2; do
   echo "s1=[$s1] s2=[$s2]"
done < <(printf "%b\n" "${s//|/\n}")
s1=[ataat1] s2=[atata2]
s1=[ololo1] s2=[ololo2]
s1=[pishpish1] s2=[pishpish1]