df-ből %-os foglaltság érték kinyerése Bash scripttel

Fórumok

Sziasztok!

Tud valaki segíteni abban, hogy hogyan lehetne kinyerni df parancs kimenetéből a %-os fogalaltság értékét.
df

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/ida/c0d0p1 3842376 95452 3551736 3% /
tmpfs 388336 0 388336 0% /dev/shm
/dev/ida/c0d0p2 4324760 66088 4038984 2% /home
/dev/ida/c0d1p2 4893924 374176 4271144 9% /usr
/dev/ida/c0d1p1 3842376 195008 3452180 6% /var

Ebből csak a következő értékek kellenének:
3%
0%
2%
stb...

Próbáltam cut-al kivágni, de szerintem nem tabbal van separálva, hanem szóközökkel.
Legalábbis ha jól sejtem a tab az alapértelmezett szeparátor a cut-nál, de az egész sort dobja mint első field.

Szóval mit lehetne tenni?
én csak olyan bonyolultabb módszert tudnék, hogy % jellel szeparálok, megnézem az hányadik karakter és kiírom az előző kettőt is, de ez elég bonyolultnak tűnik, és szerintem talán van egyszerűbb megoldás is.

Hozzászólások

szerintem awk-val legegyszerubb:

$ df | awk '{ if (C>0) print $5; C++; }'

A.

Hogy legyen egy sed-es megoldás is...


df | sed -n "/[0-9]%/{s/.*[^0-9]\([0-9]\+%\).*/\1/;p}"

--
maszili