Есть ли способ получить diff для файлов JSON Lines
? В случае возникновения путаницы, по словам «JSON Lines», я имею в виду формат, описанный here, который в основном требует, чтобы каждая строка была действительной структурой JSON. Во всяком случае, есть ответ here, который обсуждает использование jq для того, чтобы разграничить два разных файла JSON.Есть ли способ получить diff для файлов `JSON Lines`?
Однако, вопрос хотел, чтобы diff не учитывал порядок внутри списка, в то время как я действительно забочусь об этом заказе. Кроме того, ответы содержат jq-скрипты, которые просто дают истинный или ложный ответ и не дают полного разграничения. В идеале я бы хотел получить полный diff. Существует проектный вызов json-diff, который отличает файлы JSON, но работает только для одного объекта JSON, а не с линиями JSON.
Чтобы повторить, существует ли метод или что-то вроде сценария jq, который может получить diff для форматированных файлов в формате JSON?
Если единственным ограничением использования json-diff является то, что он работает с реальными объектами JSON вместо отдельных строк, 'jq -s .' должен обернуть их в массив для вас. –
Когда вы говорите, что вам нужен «полный diff», что бы это влечет за собой? Текстовый diff, как в 'json-diff'? –
@SantiagoLapresta Да, я имею в виду текстовую разницу, как в 'json-diff'. Я действительно не знал о '-s/- slurp', и это может сделать это. Я просто запускал тестовую команду 'json-diff.js <(jq -s. A.jsonl) <(jq -s. B.jsonl)', и это в основном делает это. Если есть лучший способ, я бы хотел это услышать. В противном случае, если вы добавите это в качестве ответа, я приму это. – wyer33