#json #sed
Вопрос:
У меня есть несколько файлов JSON, в которых мне нужно добавить a ,
после a }
и перед новой строкой. Текущий формат файла выглядит следующим образом:
"some_text"}
{"version":"1.0",
Это моя текущая команда:
sed -i '.json' 's/}n/},n/g' file
.
Регулярное выражение работает при выполнении поиска и замены внутри файла, но я не могу понять командную строку, которая мне нужна для массового редактирования
Ответ №1:
Это может сработать для вас (GNU sed):
sed -i 's/}$/amp;,/' file
Sed ограничивает строки, которые он представляет в пространстве шаблонов, новыми строками, поэтому конец строки с использованием привязки $
представляет позицию перед новой строкой и, следовательно, представляет регулярное }$
выражение }n
.
Другой способ-использовать:
sed -zi 's/}n/},n/g' file
Это помещает файл в память, и глобальная подстановка заменяет совпадение.