#json #jq #filenames
Вопрос:
Я новичок в JQ и работаю над набором данных о событиях. Я выбираю определенные события (shot.type.id==88) из папки с несколькими файлами json после их объединения. Затем я выбираю некоторые переменные, представляющие интерес (идентификатор, индекс, идентификатор игрока,…). Смотрите следующий код:
cat * | jq -r '.[] | select(.shot.type.id==88) | {id:.id, index:.index, player_id:.player.id,striker_name:.player.name} '
Что касается вывода: я хотел бы добавить имя файла json, из которого берется событие. Я попытался ввести имя файла в » {}», но безуспешно. Любая помощь будет очень признательна!
Ответ №1:
Использование cat *
уничтожает любую существующую информацию о имени файла. Измените свой конвейер, чтобы
jq -r '...' *
и input_filename
будет оцениваться по текущему имени файла.
Комментарии:
1. Это сработало! Большое спасибо 🙂