Potrzebujesz pomocy z C, C++, perl, python, itp.
R_Przemek
Posty: 54 Rejestracja: 12 lipca 2008, 16:02
Post
autor: R_Przemek » 23 listopada 2008, 13:21
Witam
mam taki kod:
Kod: Zaznacz cały
awk '$1=/MemTotal:/ {print $2}' /proc/meminfo
awk '$1=/MemFree:/ {print $2}' /proc/meminfo
efektem są dwie wartości "MemTotal" (watrość większa) i "MemFree" (wartość mniejsza)
Teraz chciał bym zamiast tych dwóch wartości wyświetlić różnicę MemTotal i MemFree.
markossx
Beginner
Posty: 489 Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska
Post
autor: markossx » 23 listopada 2008, 13:54
Zrób to bash:
zapisz wyniki do zmiennych A i B i następnie oblicz różnice:
Kod: Zaznacz cały
#!/bin/bash
A=`cat /proc/meminfo | grep MemTotal | awk '{ print $2 }'`
B=`cat /proc/meminfo | grep MemFree | awk '{ print $2 }'`
echo $A
echo $B
Poszukaj jak się oblicza podstawowe działania arytmetyczne w bash i jesteś w domu ;-)
yakow
Posty: 52 Rejestracja: 13 czerwca 2008, 09:30
Post
autor: yakow » 23 listopada 2008, 15:18
A musi być konieczne za pomocą cat /proc/meminfo i odejmowania? Bo jak nie to może łatwiej użyć sobie komendy:
Wyświetli Ci zajętą pamięć czyly to co uzyskujesz przez odjęcie wolnej od całkowitej. A jak do free dodasz some "-m" to od razu będziesz miał w megabajtach.
markossx
Beginner
Posty: 489 Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska
Post
autor: markossx » 23 listopada 2008, 17:04
Każdy sposób jest dobry jak prowadzi do rozwiązania moim zdaniem...
Pewnie i można samym awk ale nie sprawdzałem jak.
snah
Beginner
Posty: 103 Rejestracja: 19 lutego 2008, 09:09
Post
autor: snah » 24 listopada 2008, 11:12
W awk może być np. tak:
Kod: Zaznacz cały
awk -v tmp= '/MemTotal:/ {tmp=$2};/MemFree:/ {print tmp-$2}' /proc/meminfo
albo:
Kod: Zaznacz cały
awk 'begin {tmp};/MemTotal:/ {tmp=$2};/MemFree:/ {print tmp-$2}' /proc/meminfo
Użycie free zaproponowane przez
yakow wydaje mi się najlepszym wyjściem.
markossx
Beginner
Posty: 489 Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska
Post
autor: markossx » 24 listopada 2008, 11:24
Użycie free zaproponowane przez yakow wydaje mi się najlepszym wyjściem.
Zgadzam się bo jest dedykowane narzędzie użyte, ale jak się nie zna danego narzędzia trzeba sobie radzić inaczej. :-D