Quick sed question
В текстовом файле как мне удалить все символы вплоть до первого '[' включительно во всем файле и ничего больше?
Я пытался
sed "s/^[^\[]*\[//" example.json
, но он удаляет весь текст в каждой строке.
Поочередно,
У меня есть набор файлов, которые являются наборами JSON документы. Я пытаюсь импортировать их в эластичный поиск, но первый документ в файле - это информационный документ с нестандартным форматом, который портит импорт остальных документов. Я пытаюсь избавиться от первого документа, чтобы последующие документы могли загружаться правильно.
Вот документ:
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&starttime=2014-01-01&endtime=2014-01-02
Я использовал две команды sed для выполнения задачи «удалить все символы до и включая первую найденную '['»
sed -n '/\[/,$p' example.json | sed -r '1 s/[^\[]*\[(.*)/\1/'
Для всего, кроме простого s/old/new в отдельных строках, просто используйте awk. Это будет работать с использованием любого awk в любой оболочке на каждом UNIX поле:
s/old/new
awk 'sub(/[^[]*\[/,""){f=1} f' file