Na przykład,
Jeśli zrobisz free -m | sed -n 2p
Chcę pracować z danymi wyjściowymi z ostatniej , drugiej do ostatniej i trzeciej kolumny . Problem polega na tym, że chcę zachować spójność i użyć danych wyjściowych od free
razu.
Chcę być w stanie utrzymać spójność danych wyjściowych bez uruchamiania free -m | sed -n 2p
i wyodrębniania tego, czego trzy kolumny potrzebuję trzy razy; Chcę móc to zrobić raz. Jak mogę to zrobić?
Odpowiedzi:
Możesz chcieć za
Awk
to zawrócić.źródło
Możesz użyć nazwanych potoków i
awk
podzielić dane wyjściowe na 3 źródła. Następnie możesz przeczytać (raz) z każdego źródła.Nazwane rury
pipe1
i in. działają jak bufory, z których można odczytać, jakby były potokami.lub najlepiej bez
cat
:Pamiętaj, że po odczytaniu danych z potoku dane znikają, tak jakby dane wejściowe pochodziły ze zwykłego potoku.
źródło
Myślę, że najprostszym sposobem na to byłoby zapisanie linii statystyk w tablicy bash, a następnie dostęp do elementów tablicy:
źródło
Zamiast tego po prostu zapisałem
free
wynik w zmiennej i echo każdego wyniku osobno.To jest mój wynik końcowy:
źródło