首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Bash中连接数组的元素?

如何在Bash中连接数组的元素?
EN

Stack Overflow用户
提问于 2009-10-07 01:46:16
回答 27查看 278.4K关注 0票数 484

如果我在Bash中有一个像这样的数组:

代码语言:javascript
复制
FOO=( a b c )

如何用逗号连接元素?例如,生成a,b,c

EN

回答 27

Stack Overflow用户

发布于 2010-02-23 18:02:35

还有另一种解决方案:

代码语言:javascript
复制
#!/bin/bash
foo=('foo bar' 'foo baz' 'bar baz')
bar=$(printf ",%s" "${foo[@]}")
bar=${bar:1}

echo $bar

Edit:相同,但用于多字符可变长度分隔符:

代码语言:javascript
复制
#!/bin/bash
separator=")|(" # e.g. constructing regex, pray it does not contain %s
foo=('foo bar' 'foo baz' 'bar baz')
regex="$( printf "${separator}%s" "${foo[@]}" )"
regex="${regex:${#separator}}" # remove leading separator
echo "${regex}"
# Prints: foo bar)|(foo baz)|(bar baz
票数 235
EN

Stack Overflow用户

发布于 2012-02-24 19:21:14

代码语言:javascript
复制
$ foo=(a "b c" d)
$ bar=$(IFS=, ; echo "${foo[*]}")
$ echo "$bar"
a,b c,d
票数 194
EN

Stack Overflow用户

发布于 2009-10-06 18:01:52

也许,例如,

代码语言:javascript
复制
SAVE_IFS="$IFS"
IFS=","
FOOJOIN="${FOO[*]}"
IFS="$SAVE_IFS"

echo "$FOOJOIN"
票数 73
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1527049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档