2016-04-25 27 views
0

私は以下の内容のファイルを持っています。bashでコンマ区切りの配列を作成する

line1 
line2 
line3 

は、私はそれを行うことができますどのようにこの

('line2','line2','line3') 

のような配列を作成する必要がありますか?

+2

Bash配列または '( 'line2'、 'line2'、 'line3')'という文字列を作成しますか? – fedorqui

+0

@fedorqui文字列( 'line2'、 'line2'、 'line3') – dileepVikram

答えて

0

ザ・はあなたを助ける必要があります。

sed -r "s/^|$/'/g" file | echo "(`paste -d, -s`)" 

私はその後、pasteを使用してechoを使用して括弧でそれを囲むコンテンツを連結し、スタートに各ラインの&終わりを'を追加するsedを使用しています。

+0

ありがとうございましたblackSmith ... – dileepVikram

0

次を使用することができます。

while read line; do printf "'$line',"; done < file | sed 's/^/(/;s/,$/)\n/' 

whileループは、コンテンツを取得し、括弧で囲みます。

s/^/(/は、文字列の先頭に(を追加しています。

s/,$/)\n/は、最後の,)と置き換えて返します。

+0

ありがとう、oliv、あなたの答えは部分的に働いています。最後の行は表示されませんでした。コードはsedの/^/(/; s /、$ /)\ n/' – dileepVikram

+0

について説明しますか?実際の入力ファイルで質問を編集できますか?あなたが置いたものは働いています... – oliv

+0

オリーブ、私はその部分を持っています。ありがとう 最後の行が配列になかったことをテストしました。カンマ区切りと昏睡区切り記号がどのように来て、ちょうど知りたかったのか? – dileepVikram

関連する問題