2016-03-15 73 views
0

我有workdir由10個子目錄組成,每個子目錄中都有一些相關的log.log,由大量數據組成。從日誌中提取數字數據

使用tail -n 3 log.log,我得到這樣的:

   (Mnbf/s) (GFlops) (ns/day) (hour/ns) 
Performance: 1978.319 102.192  21.487  1.117 
Finished mdrun on node 0 Tue Mar 15 16:23:03 2016 

從其中只有21.487數字是很重要的。

問題:什麼組合的bash shell命令將有助於從該數據中僅提取數字21.487並將其放入指定的日誌中?

然後,我將把這個命令放在一個循環中,處理來自10次獨立運行的數據,並計算它們的平均值。

感謝您的幫助!

+0

你能編輯你的文章,以避免不良語法,格式化您的消息,並解釋更好(例如,這是什麼2 - 應用尾部-n 3 log.log行)? – Dunatotatos

+0

請查看[editing-help](http://stackoverflow.com/editing-help)。 – Cyrus

回答

0

我會用awk

tail -n2 file | awk 'NR==1{print $4}' 

你可以find像這樣一起使用:

find . -name 'log.log' -exec bash -c 'tail -n2 "$1" | awk "NR==1{print $4}"' - "{}" \; 

我假設你是那個文件夾中。否則替換./path/to/folder