У меня есть текстовый файл, который содержит большое количество объектов JSON, и он не был создан с новыми строками или любым разделителем между объектами.Perl вставить новую строку между каждым} {match
В настоящее время я использую:
perl -e '$/ = "}{"; print "$_\n" while <>' file.txt > out.txt
Но это вызывает искаженные данные, когда файл разбивается на новой строке объекты JSON будет отсутствовать открытие {
в качестве новой линии получает ставится после {
характера.
Есть ли способ вставить новую замену линии между совпадением }{
, таким как }\n{
.
Файл довольно большой, поэтому я не могу его вручную сделать.
Не обязательно находиться в Perl, может быть в чем-то более подходящем для задачи.
Не могли бы вы разместить несколько примеров ввода для целей тестирования? –
Также, как часто вам нужно это делать? Будет ли функция редактора кода или плагин делать трюк? Eclipse и Sublime Text могут это сделать; Скорее всего, Notepad ++ и другие. –
Вопрос в том, что действительно? json_xs так не думает ... 'cat json.json | json_xs -f json -t json-pretty' дает 'мусор после объекта JSON, при смещении символов 13 (до" {"bar": "baz"} {"bo": "...") в/home/foo/... ' – simbabque