Скрипты bash: (извлечение данных) дают предложение, используя awk sed grep или любую полезную команду

Это часть моего входного файла. Мне нужно извлечь данные. в частности, я хочу извлечь частичную летучесть: в единицу [бар]. Я сделал это значение жирным шрифтом. покажи как это сделать?

Component 0 [hexane] (Adsorbate molecule)
    Partial pressure:      5000.00000000000000 [Pa]
                             37.50000000000000 [Torr]
                              0.05000000000000 [bar]
                              0.04934616333580 [atm]

    Fugacity coefficient:       0.9986883219 [-]

    Partial fugacity:      4993.44160943095812 [Pa]
                             37.45081207073218 [Torr]
                              ***0.04993441609431 [bar]***
                              0.04928143705335 [atm]
Component 1 [22-dimethylbutane] (Adsorbate molecule)
    Partial pressure:      5000.00000000000000 [Pa]
                             37.50000000000000 [Torr]
                              0.05000000000000 [bar]
                              0.04934616333580 [atm]

    Fugacity coefficient:       0.9988647141 [-]

    Partial fugacity:      4994.32357042947660 [Pa]
                             37.45742677822107 [Torr]
                              ***0.04994323570429 [bar]***
                              0.04929014133165 [atm]

2 ответа

Только 1 команда:

awk '/fugacity/ { getline; getline; if ($2 == "[bar]") print $1 }' file.txt

не очень понятно из вашего вопроса и примера, но если вы хотите только первый

awk '/fugacity/ { getline; getline; if ($2 == "[bar]") {print $1; exit} }' file.txt

Непроверенные:

cat {file} |grep -A 3 fugacity| grep bar| awk -F" " '{print $1}'
Другие вопросы по тегам