Если у меня есть строка типа «name»: «tempname», «department»: «tempdept», я хочу найти значение для «department», которое является «tempdept» ». Поэтому, если существует «отдел», мне нужно только вернуть значение. Длина искомой строки может быть очень длинной. Возможно ли это с помощью sed/awk, можете ли вы помочь?Linux - найти строку и получить следующий раздел
Я пробовал следующее, но он возвращает целую строку. Я ищу здесь отдел.
echo $data | sed 's/\(\"department\":\)\(.*\"\)/\2/'
Спасибо за ответ. Измененное решение sed ниже работает, но результат усекается, когда он попадает в запятую в значение отдела. Итак, полагая, что значение отдела всегда заканчивается двойной цитатой, можем ли мы получить до этого символа, включая цитату? echo "$ data" | tr, \\ n | sed -n '/ "department":/s /// p' –