【问题标题】:How to split a string in bash delimited by /如何在由 / 分隔的 bash 中拆分字符串
【发布时间】:2012-02-28 22:48:55
【问题描述】:

我必须在 bash 脚本中用“/”分割一个字符串,但我试过了:

for i in $(echo $www | tr "/")

但它不起作用,有什么建议吗?

非常感谢。

【问题讨论】:

    标签: bash


    【解决方案1】:
    $ IFS=/ read -a foo <<< 'abc def/ghi/jkl'
    $ echo "${foo[0]}*${foo[1]}*${foo[2]}"
    abc def*ghi*jkl
    

    【讨论】:

    • 设置 IFS 是最好的方法。当然我怀疑$www 不会有空格,而是%20s。最后别忘了unset IFS!也可与IFS=/ for i in $www; do ... ; done ; unset IFS 合作
    • 你不需要在最后取消设置$IFS,因为这个符号只会在命令执行期间设置它。
    【解决方案2】:

    如果你告诉tr,你的把戏会奏效,斜杠应该翻译成什么:

    for w in $(echo "what/the/heck" | tr "/" " ") ; do echo $w; done 
    what
    the
    heck
    

    【讨论】:

      猜你喜欢
      • 2011-10-03
      • 2010-10-29
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      相关资源
      最近更新 更多