top -o %MEM -b > file.txt
czas 1 = 27 marca 21:27:55
time2 = 28 marca 20:27:32
Muszę tylko przekierować dane wyjściowe polecenia top -o %MEM -b
do output.txt
jeśli czas1 <= data1 <= czas2
gdzie time1
, time2
, date1
są data wybiorę! Przydałby mi się czas na Uniksa!
Czy jest to możliwe w powłoce linux?
Jak mogę to zrobić? Powinienem zapisać informacje w formacie XML / JSON zamiast pliku txt!
command-line
bash
debian
shell
Ed S.
źródło
źródło
time1
,time2
adate
pochodzą?time1
,time2
,date1
to data wybiorę!top
danych wyjściowych do XML / JSON w osobnym pytaniu i pozostaw pytanie tak, jak było wcześniej?Odpowiedzi:
Współczesne powłoki są językami programowania, więc możesz używać arytmetyki do sprawdzania warunków dat. Jednak
top
w trybie wsadowym działa aż do osiągnięcia limitu iteracji, a po uruchomieniutop
nie można sprawdzić warunku dat. Musisz więc uruchomićtop
z limitem iteracji ustawionym na 1 i zrestartować go w pętli while:EDYCJA: Aby użyć tego skryptu, skopiuj / wklej go na przykład do pliku mytop.sh, ustaw na nim plik wykonywalny :
a następnie możesz rozpocząć jak zwykle, wykonując:
Aby anulować, naciśnij ctrl+ c.
Nie ma żadnego wizualnego wskaźnika, że działa, a niektórzy ludzie czują się lepiej, gdy jest jakiś efekt. Jeśli chcesz, możesz dodać na przykład:
wiersz w skrypcie po
sleep
wierszu, aby wydrukować nową kropkę przy każdej iteracji.źródło