2012-11-01 23 views
1

作爲我的腳本的一部分,我需要搜索一些文件,並檢查某個列的值是否等於或大於給定數字。將awk的stdout設置爲「if」的輸入

在這個簡化的例子中,我想看看在第一行的第3列的值是大於10:

head -1 examplefile | awk '{print $3}' | if [?? > 10 ]; then print "YES"; fi 

的問題是從AWK在stdout調用(這是隨後的數量I想要)作爲if命令的輸入(??)。

應該是很簡單的,但我想我只是愚蠢...;)

乾杯, 馬丁

回答

1

爲什麼不設置awk輸出到一個變量?

myVar=$(head ... awk '{print $3}') 

並測試在if聲明。

if [ $myVar -gt 10 ]; then 
    print "YES" 
fi 

(我認爲你需要的-gtoperator)。

或者爲什麼不使用awk's conditional statements並完全避免這種情況?

+0

謝謝!將它設置爲一個變量解決了這個問題,所以現在我只需要將它放到for循環中,以便它能夠在腳本中運行... –

相關問題