2016-08-05 26 views
0

dokku ls顯示以下內容,但是如何使用awk獲取app-1470418443的狀態?Grep/Awk:從列表中查找狀態

這樣magic command返回running

-----> App Name   Container Type   Container Id    Status     
app-1470418443   web      78a092d176f1    running     
example     web      3b7803c49e04    running     
example2     web      a750f2b4be44    running 
+0

[grep for content after pattern]可能重複(http://stackoverflow.com/questions/10358547/grep- for-contents-after-pattern) – tripleee

回答

2
awk '$1=="app-1470418443"{print $NF}' 
0

由於在該示例輸出尾隨的空間,你必須得到所有非空格字符([^ ]*),然後將所有的空間(_*下劃線_代表空間,空間並沒有呈現在字符串($)並打印該匹配部件(grep -o)的端部的所有):

$ grep "^app-1470418443 " file | grep -o "[^ ]* *$" 
running 

沒有拖尾空間,後者grep會簡化一個比特(以及2個字節)以僅匹配非空格字符:

$ grep "^app-1470418443 " file | grep -o "[^ ]*$" 
running 
+1

這會打印許多種類的錯誤匹配。 –