LINUX.ORG.RU

Через awk, например. У меня вот так получилось.

$ cat text.tmp | awk '{ printf "{\"name\":\"%s\",\"count\":\"%s\"}\n", $1, $2 }'|jq -s
[
  {
    "name": "Hackler",
    "count": "3"
  },
  {
    "name": "Rockstar",
    "count": "5"
  }
]

Radjah ★★★★★
()
Последнее исправление: Radjah (всего исправлений: 1)
Ответ на: комментарий от Radjah

Великолепно, тоже думал над awk, но с printf трудности есть. Спасибо большое

Rivee
() автор топика
printf 'A 1\nB 2' | jq -Rns '{"result": [input | split("\n") | .[] | split(" ") | {"name": .[0], "count": .[1]}]}'

как-то так

Lrrr ★★★★★
()
Ответ на: комментарий от Lrrr

Чуть улучшил, чтобы можно было и в конце файла \n тоже поставить.

printf 'A 1\nB 2\n' | jq -R 'split(" ")' | jq -s '[ .[] | { "name": .[0], "count": .[1]}]'

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne
> JSON.stringfy

>>> undefined

Ну, раз строго говоря, то все равно не получается

cdshines ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.