2017-06-23 97 views
-1

這是我的輸入文件的一部分。我需要提取數據。具體而言,我想提取部分逸度:單位[bar]。我已經使這些價值大膽。告訴我該怎麼做?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] 
+0

請[編輯]你的問題,以顯示[你到目前爲止的代碼](http:// wh athaveyoutried.com)。你至少應該包括一個你遇到問題的代碼大綱(但最好是[mcve]),然後我們可以嘗試幫助解決具體問題。你還應該閱讀[問]。 –

回答

0

未經測試:

cat {file} |grep -A 3 fugacity| grep bar| awk -F" " '{print $1}' 
+0

謝謝!得到了數據 –

1

只有1個命令:

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

不是很從你的問題,例如明確的,但如果你想只是第一個

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

極好。我仍然得到兩個值,因爲我有兩個組件。你能告訴我如何爲不同的組件獲得不同的值? –

+0

你可以展示你期望作爲輸出嗎? –

+0

我只想要部分逸度的一個值,0.04993441609431 –