【问题标题】:Parsing the string in bash and setting it in variables在 bash 中解析字符串并将其设置在变量中
【发布时间】:2015-03-29 01:00:55
【问题描述】:

请帮助解决这个问题:

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

ataat1, atata2|ololo1 ololo2|pishpish1 pishpish1

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

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

请帮忙!!!并且字符串中的元素一直在变化

【问题讨论】:

    标签: string bash shell for-loop


    【解决方案1】:

    你可以使用:

    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]
    

    【讨论】:

    • 不,这不是菜鸟问题。
    • 也许是 -d '|' 而不是 sed/sub-shell?虽然这需要确保输入字符串中有一个尾随 |
    猜你喜欢
    • 2015-09-04
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2022-01-12
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多