Jak wartości grep w kolumnach

0

Jak mogę grep dla konkretnej nazwy kolumny i wyświetlić wartość pod tą kolumną.

Przykładowe dane:

StandByFile  StandByPg  StandByLSN         StandByRcvBufUsed
S0082160.LOG 621668     0x00000C85118BC72D 0%  

Chcę wyświetlić 0% pod StandByRcvBufUsed kolumna. Pamiętaj, że plik zawiera inne dane, różniące się od powyższych kolumn, co oznacza, że ​​w plikach w różnych wierszach znajdują się różne listy kolumn.

Dzięki

Aktualizacja:
Mój plik ma następujący format, więc kolumny # nie są stałe:

HADR Information:
Role    State                SyncMode   HeartBeatsMissed   LogGapRunAvg (bytes)
Standby Peer                 Async    0                  365000              

ConnectStatus ConnectTime                           Timeout   
Connected     Tue May 20 09:34:23 2014 (1400592863) 120       

ReplayOnlyWindowStatus ReplayOnlyWindowStartTime             MaintenanceTxCount
Inactive               N/A                                   0         


PrimaryFile  PrimaryPg  PrimaryLSN        
S0082160.LOG 621668     0x00000C85118BC72D

StandByFile  StandByPg  StandByLSN         StandByRcvBufUsed
S0082160.LOG 621668     0x00000C85118BC72D 0%  
user327963
źródło

Odpowiedzi:

0

Spójrzmy na liczbę kolumn, która zawiera StandByRcvBufUsed i przechowuj go. Następnie przeskocz do następnej linii i wydrukuj tę kolumnę, a na koniec wyjdź:

$ awk 'f{print $f; exit} {for (i=1; i<=NF; i++) if ($i == "StandByRcvBufUsed") {f=i; next}}' file
0%
fedorqui
źródło
ale mój plik ma następujący format: ConnectStatus ConnectTime Timeout Connected Tue 20 maja 09:34:23 2014 (1400592863) 120 0 PrimaryFile PrimaryPg PrimaryLSN S0082160.LOG 621668 0x00000C85118BC72D StandByFile StandByPg StandByLSN StandByRcvBufUsed S0082160.LOG 621668 0x00000C85118BC72LL 621668 0x00000C85118BC72DLB 621668 0x00000C85118BC72D 0 0 0 0
user327963
1
Zaktualizuj swoje pytanie za pomocą tych informacji, w komentarzach dość trudno jest zobaczyć kod.
fedorqui
zaktualizowałem moje pytanie. Zobacz powyżej. dzięki
user327963
Więc biorąc pod uwagę ten plik, jaki jest twój dokładnie wymagany wynik, @ user327963?
fedorqui
Chciałbym zobaczyć wartość w StandByRcvBufUsed, która w tym przypadku wynosiłaby 0%
user327963