2017-06-23 11 views
-1

これは入力ファイルの一部です。私はデータを抽出する必要があります。具体的には、私は部分的なfugacityを抽出したい:単位[bar]で。私はそれらの価値を大胆にしました。私にそれをする方法を教えてください?bashスクリプト:(データ抽出)awk sed grepや有用なコマンドを使ってsuggetionを与える

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])を含める必要があります。次に、特定の問題を解決することができます。 [ask]も読んでください。 –

答えて

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 

非常に明確ではありませんが、あなただけの最初の1

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

が得意です。私は2つのコンポーネントを持っているので、まだ私は2つの値を取得しています。あなたはどのように私は異なるコンポーネントの異なる値を得ることができます私に教えていただけますか? –

+0

あなたは出力として持っていることを期待できますか? –

+0

私は部分的なfugacityの1つの値、0.04993441609431をほしい –

関連する問題