こんにちは。
jq コマンドを使って、csv 形式の数値データを配列へ変換しました。
配列形の入力として処理する方法
入力の各行を Json 配列形[]
へ格納した後、jq
コマンドへ渡します。
$ echo -en "1,0\n2,0\n3,0\n" | perl -pe 's/.*/[$&]/' | jq -sc .
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | awk '{printf "[%s]\n", $0}' | jq -sc .
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | while read line; do echo "[$line]"; done | jq -sc .
[[1,0],[2,0],[3,0]]
文字列の入力として処理する方法
文字列の入力として処理する方法です。データ末尾の \n
の削除も必要です。
$ echo -en "1,0\n2,0\n3,0\n" | jq -sRc '[split("\n")[]|split(",")|map(tonumber)][:-1]'
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | jq -sRc '[split("\n")[]|select(. != "")|split(",")|map(tonumber)]'
[[1,0],[2,0],[3,0]]
$ echo -en "1,0\n2,0\n3,0\n" | ghead -c -1 | jq -sRc '[split("\n")[]|split(",")|map(tonumber)]'
[[1,0],[2,0],[3,0]]