id:kizashi1122 です。 最近暑くなってきましたね。
さて、記事のタイトルにあるような「ファイルの1行を1要素としたJSON配列を作りたい」こういう要件が出てきました。
つまり
$ cat input aaaaaaaaa bbbbbbbbb ccccccccc ddddddddd eeeeeeeee
こういうファイルから
[ "aaaaaaaaa", "bbbbbbbbb", "ccccccccc", "ddddddddd", "eeeeeeeee" ]
という文字列を生成したいイメージです。
結論
こうやったらいけました。
jq コマンド便利ですね!
array=$(cat input) jq -nM --arg var "$array" '$var|split("\n")'
別に prettyprint しなくていいよという場合は -c
オプションを追加してもらえれば
["aaaaaaaaa","bbbbbbbbb","ccccccccc","ddddddddd","eeeeeeeee"]
こんな感じに出力されます。
これも便利ですね!