2016-08-05 44 views
0

dokku ls zeigt die folgenden, aber wie kann ich den Status app-1470418443 mit awk zum Beispiel bekommen?Grep/Awk: Finden Status von Tabelle Spalte

So dass magic commandrunning zurückgibt.

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

Mögliche Duplikat [grep für den Inhalt nach der Muster] (http://stackoverflow.com/questions/10358547/grep- for-contents-after-pattern) – tripleee

Antwort

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

Da es Raum ist in der Beispielausgabe nachlauf Sie alle Nicht-Leerzeichen erhalten müssen ([^ ]*) und dann den ganzen Raum (_*, Strich _ repräsentiert Raum als Raum nicht machen überhaupt) am Ende der Schnur ($) und drucken nur die passenden Teile (grep -o):

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

ohne Raum nachlauf, letztere grep würde ein Bit (gut 2 Bytes) vereinfachen nur die nicht-Raum Zeichen übereinstimmen:

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

Das würde viele Varianten falscher Treffer ausgeben. –