2012-01-12 49 views

回答

5

比賽整場:

% echo -e "55 11\n25 11.0" | awk '$2 ~ /^11$/{print $1}' 
55 

如果沒有想通過數字來匹配,你不應該使用正則表達式,當然(你當前也符合6119.42):

% echo -e "55 11\n25 11.0" | awk '$2 == 11 { print $1 }' 
55 
25 
+2

+1爲'==' - 你不需要一切正則表達式。 – 2012-01-12 13:33:38

0
echo -e "55 11\n25 11.0" | awk '$2 ~ /^11$/ {print $1}' 
0

確保最後一個字段不包含小數點。

[jaypal:~/Temp] echo -e "55 11\n25 11.0" | awk '$NF!~/\./{print $1}' 
55 
+0

鑑於問題的標題是「打印匹配確切的列內容」,這是有點太寬鬆。 – Johnsyweb 2012-01-13 02:34:33

+0

@Johnsyweb我同意,我不能提出一個更好的解決方案,那麼你只是試圖解決它。我應該繼續並刪除它嗎? – 2012-01-13 02:58:02