Скрипты 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}'