【问题标题】:Echo bash variable by delimiter [duplicate]通过分隔符回显bash变量[重复]
【发布时间】:2014-06-11 14:55:34
【问题描述】:

我发誓前几天我发现了一种方法,但记不清了:

a="blah,test"
echo ${a[,1]}
blah

基本上,它似乎是在数组中设置分隔符,并指定要使用的变量的哪一部分。和awk中的这个基本一样:

echo $a | awk -F "," '{print $1}'

我是在服用疯狂的药丸,还是有可能发生这样的事情?我需要这个,因为我正在从句子中间的变量中回显文本,并且需要选择要使用的部分。

【问题讨论】:

    标签: bash


    【解决方案1】:
    a="blah,test"
    IFS=',' read -a array <<< "$a"
    echo "${array[1]}"
    

    IFS 是输入字段分隔符,read 使用它将行拆分为单词,请参阅here。使用-a,单词被分配给数组的顺序索引。 &lt;&lt;&lt;here strings 导致 $a 被扩展并提供给 read 命令。

    【讨论】:

    • 尝试在答案中添加更多内容,然后再编写代码。尝试并解释代码块在做什么,以便发布者可以从中学习并获得一些知识。
    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 2013-09-25
    • 2017-07-16
    • 2014-04-22
    相关资源
    最近更新 更多