редактировать json-файл с помощью скрипта [duplicate]

У этого вопроса уже есть ответ: Найти и заменить текст в файле с помощью команд 7 ответов

У меня есть json-файл, который имеет более 30 тыс. строк, и мне нужно заменить все экземпляры }{ в файле с },{ с помощью оболочки сценария или только текстового редактора, такого как less или vim.

1
задан 13 December 2017 в 20:27

3 ответа

Просто используйте sed:

sed 's/}{/},{/g' orig.json > new.json

Или, чтобы отредактировать файл на месте (это скопирует оригинал в orig.json.bak):

sed -i.bak 's/}{/},{/g' orig.json
2
ответ дан 22 May 2018 в 17:01
  • 1
    Если между } и {, should I put sed 's/}/n{/},{/g' orig.json > new.json есть обратная линия? – HISI 13 December 2017 в 20:29
  • 2
    \n вместо /n. Но это не сработает. См. Здесь: unix.stackexchange.com/questions/26284/… – RoVo 13 December 2017 в 20:33
  • 3
    @YassineSihi нет, если есть обратная линия, тогда вы просите что-то совершенно другое, и это не сработает. Вот почему вы всегда должны включать примеры, задавая такой вопрос. }{ - не то же, что и } {, а не то же, что }\n{ или }\t{. – terdon♦ 13 December 2017 в 20:33

Просто используйте sed:

sed 's/}{/},{/g' orig.json > new.json

Или, чтобы отредактировать файл на месте (это скопирует оригинал в orig.json.bak):

sed -i.bak 's/}{/},{/g' orig.json
3
ответ дан 18 July 2018 в 01:15

Просто используйте sed:

sed 's/}{/},{/g' orig.json > new.json

Или, чтобы отредактировать файл на месте (это скопирует оригинал в orig.json.bak):

sed -i.bak 's/}{/},{/g' orig.json
3
ответ дан 24 July 2018 в 17:22

Другие вопросы по тегам:

Похожие вопросы: