第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Bash中連接數(shù)組的元素?

如何在Bash中連接數(shù)組的元素?

德瑪西亞99 2019-07-19 10:24:27
如何在Bash中連接數(shù)組的元素?如果我在Bash中有這樣的數(shù)組:FOO=( a b c )如何用逗號連接元素?例如,生產(chǎn)a,b,c.
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個贊

Pascal Pilz用100%純Bash重寫解決方案(沒有外部命令):


function join_by { local IFS="$1"; shift; echo "$*"; }

例如,


join_by , a "b c" d #a,b c,d

join_by / var local tmp #var/local/tmp

join_by , "${FOO[@]}" #a,b,c

或者,我們可以使用printf來支持多字符分隔符,使用@gniourf_gniourf的思想。


function join_by { local d=$1; shift; echo -n "$1"; shift; printf "%s" "${@/#/$d}"; }

例如,


join_by , a b c #a,b,c

join_by ' , ' a b c #a , b , c

join_by ')|(' a b c #a)|(b)|(c

join_by ' %s ' a b c #a %s b %s c

join_by $'\n' a b c #a<newline>b<newline>c

join_by - a b c #a-b-c

join_by '\' a b c #a\b\c


查看完整回答
反對 回復(fù) 2019-07-19
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個贊

另一個解決辦法是:


#!/bin/bash

foo=('foo bar' 'foo baz' 'bar baz')

bar=$(printf ",%s" "${foo[@]}")

bar=${bar:1}


echo $bar

編輯:相同,但對于多字符可變長度分隔符:


#!/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


查看完整回答
反對 回復(fù) 2019-07-19
?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個贊

$ foo=(a "b c" d)$ bar=$(IFS=, ; echo "${foo[*]}")$ echo "$bar"a,b c,d


查看完整回答
反對 回復(fù) 2019-07-19
  • 3 回答
  • 0 關(guān)注
  • 534 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號