Я пытаюсь использовать JQ для обработки CSV, например, без заголовков столбцов:
cat "input.csv"
"12345678901234567890","2019-03-19",12
Есть ли более элегантный и читаемый способ удаления экранированных кавычек для первого и второго полей - и в целом, для построения потока объектов с таким вводом?
В идеале я хотел бы иметь повторно используемый скрипт, который собирает JSON из произвольного CSV-файла, учитывая файл и список полей в нем, передаваемых в качестве аргумента командной строки.
Текущий JQ-скрипт и вывод:
cat "input.csv" |
jq \
--raw-input '
. |
split("\n") |
map( split(",")) |
.[0] |
{
ID: (.[0] | fromjson),
date: (.[1] | fromjson),
count: (.[2] | tonumber)
}'
{
"ID": "12345678901234567890",
"date": "2019-03-19",
"count": 1
}
Вывод того же скрипта без использованного | fromjson
, который приводит к кавычкам, которых я бы хотел избежать:
{
"ID": "\"12345678901234567890\"",
"date": "\"2019-03-19\"",
"count": 1
}