2017-08-21 14 views
0

Bashでコンマとカンマを使用して配列要素を変換する方法。カンマと一重引用符を使用したコンカレント配列要素 - Bash

arr=("element1" "element2" "element3") 
#element1 element2 element3 

望ましい結果カンマseprated値はIFS使用して達成される 'element1','element2','element3'

Martin Clayton答えから

SAVE_IFS="$IFS" 
IFS="," 
ARRJOIN="${arr[*]}" 
IFS="$SAVE_IFS" 

echo "$ARRJOIN" 
#element1,element2,element3 

しかし、どのように各要素に単一引用符を追加します。

答えて

1

ちょうどsedを使用します。

sed -E "s/([[:alnum:]]+)/'&'/g;s/ /,/g" <<< ${arr[@]} 

一つの最初のsedコマンドは、単一引用符と2番目のコマンドのすべての英数字の文字列を囲むコンマとスペースを交換してください。

+0

要素に英数字以外の文字(空白、句読点など)が含まれている場合、これは正しく機能しません。 –

関連する問題