Wykonałem kilka testów porównawczych i wynikiem jest pojedynczy plik zawierający wiele wyników w następującym formacie
[blaaa] 1st run T/V N NB P Q Time ========================== 2 3 4 1 2 1.02 [blaaaa...] 2nd run T/V N NB P Q Time ========================== 4 42 4 1 2 1.22 Chcę tylko pobrać środowiska wykonawcze różnych wykonanych przeze mnie przebiegów. Czy jest więc możliwe grepowanie „Czasu” i wydrukowanie przedostatniej kolumny? Lub nawet wydrukować tylko
1.02 1.22 dla mojego przykładu powyżej? Wolałbym wydrukować tylko trzy kolumny wyników bez części blaa: D
Komentarze
- Masz na myśli tę samą kolumnę, a następnie jedną linia ?
Odpowiedź
 Zakładając Time jest zawsze w szóstym polu: 
$ awk "$6 == "Time" {t = NR} t && NR == t+2 {print $6}" file 1.02 1.22  Alternatywnie możesz użyć getline dwa razy – szybkie „n” brudne : 
awk "$6 == "Time" {getline; getline; print $6}" file  („dirty”, ponieważ nie sprawdza wartości zwracanej getline). 
Komentarze
-  Lub użyj $NF, jeśli ' s zawsze ostatnia kolumna.
- @Kusalananda tak dobra uwaga
Odpowiedź
$ grep -o "Time\|[0-9\.]\+$" file Time 1.02 Time 1.22 $ grep -o "[0-9\.]\+$" file 1.02 1.22 $ grep -A2 ^T/V file T/V N NB P Q Time ========================== 2 3 4 1 2 1.02 -- T/V N NB P Q Time ========================== 4 42 4 1 2 1.22  Wyniki są oddzielone znakiem -- w ostatnim pliku grep, który można usunąć za pomocą: 
$ grep -A2 ^T/V file | grep -v "^--"  I po usunięciu ==== linii : 
$ grep -A2 ^T/V file | grep -v "^--\|=\+" Odpowiedź
 Masz dwie odpowiedzi używając awk and grep, możesz także spróbować sed: 
sed -E "/===*/{N;s/.*([0-9]+\.[0-9]*)/\1/g};t;d" file_name  Tutaj /===*/, dopasuje ===.., a następnie przejdzie do następnej linii i znajdzie liczby zmiennoprzecinkowe z dziesiętnymi między nimi oraz pominie i usunie wszystkie inne linie. 
Wyświetli wynik w postaci:
1.02 1.22