2012-07-23 87 views
1

我需要閱讀從awk的一個文件中的一些值,然後需要用我在bash.For例如讀取值文件的結構將讀取文件從特定的文本使用awk

NICE = -13 

LATENCY= 100 

WMEM= 4 

我需要用awk從文件中讀取值-13,100和4,然後在bash中使用它們。腳本的結構將是;

#!/bin/bash 

awk'{}' 

,然後在此處使用的值在腳本

+1

[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)你知道[如何問](http://stackoverflow.com/questions/how-to-ask)[用聰明的方式提問](http://catb.org/~esr/faqs/smart-questions.html)? – 2012-07-23 10:31:35

回答

3

如果輸入是data.txt然後嘗試運行腳本里面以下命令:

values=`cat data.txt | awk -F '=' '{print $2}' | xargs` 

值變量則包含:-13 100 4

+0

謝謝@pankar,如果我只需要其中一個例如NICE,會怎麼樣?它會成爲'cat data.txt | awk -F'NICE =''{print $ 2}'| xargs'? – barp 2012-07-23 10:40:00

+1

@barp如果你想要「NICE」den使用......> values ='cat kk | grep「NICE」| awk -F'=''{print $ 2}'| xargs' – Debaditya 2012-07-23 10:46:22

+2

@barp或簡單地使用.... $> awk -F「=」'$ 1 =/NICE/{print $ 2}'data.txt – Debaditya 2012-07-23 10:49:04

3
values=($(awk 'NF{print $NF}' file)) 

這將在bash中創建一個數組。 該數組包含非空行的所有最後一個標記。 可以與

echo ${values[0]} 

訪問陣列中的值來呼應的所述第一值。 請注意不可有空格=

在awk-Code中,第一個NF會過濾出空行。 如果您的文件不包含空行,您可以關閉它。

相關問題