Вот так быстро и грязно?
$ grep -o -P '(?<=")[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}(?=")' input
30c962de-b448-40ac-ade8-da6a8f49ce88
Ищет любые случайные "30c962de-b448-40ac-ade8-da6a8f49ce88"
значения с фиксированной длиной и положением тире -
, заключенные в кавычки, и распечатывает их. Если вы хотите настаивать и на части "id":
, просто добавьте ее в условие начальных кавычек (?<=")
.
Однако, если это JSON или что-то вменяемое, вам следует подумать об использовании соответствующего синтаксического анализатора для такого рода данных (, например jq
или чего-то подобного ).