У меня есть файл, который имеет много строк в формате:
bc("STG1/Phone") = {type=bana_pub; cbb=12.354; abb=0.0}`
Я ищу, чтобы извлечь cbb=12.354;
, В настоящее время я делаю следующее:
cat input_file.txt | grep cbb | awk -F " " '{ print $4 }'`
Проблема в том, что мой подход зависит от местоположения, то есть предполагается, что это всегда 4-е поле. Как извлечь текст в форме cbb=
зная после =
это может быть любая длина и точка с запятой ;
не является обязательным. Единственная гарантия, которую я имею, состоит в том, что термин cbb=12.354;
будет окружен пробелами, если это поможет. Файл в будущем может иметь формат:
bc("STG1/Phone") = {type=bana_pub; cbb=12.354; abb=0.0}
bc("STG1/Phone") = {type=bana_pub; abb=0.0; cbb=12.354}
Мой инстинкт подсказывает мне, что регулярное выражение - это, вероятно, правильный путь, но я обычно стараюсь избегать его, если могу, так как предпочитаю простые инструменты сопоставления (которые я понимаю лучше).
Спасибо в ожидании вашей помощи.