On Friday 11 January 2008, Davide Bolcioni wrote:
> On Tuesday 08 January 2008 08:44:25 pm sandman42@xxxxxxxxx wrote:
> > Ciao,
> >
> > mi servirebbe, dato un input di questo tipo (df -h):
> >
> > Filesystem Size Used Avail Use% Mounted on
> > /dev/hda1 225G 48G 167G 23% /
> > varrun 760M 152K 759M 1% /var/run
> > varlock 760M 0 760M 0% /var/lock
> > udev 760M 80K 760M 1% /dev
> > devshm 760M 0 760M 0% /dev/shm
> > lrm 760M 34M 726M 5%
> > /lib/modules/2.6.22-14-generic/volatile /dev/hdb1 73G
> > 65G 3.6G 95% /media/disk
> >
> > ottenere, per la riga che ha un certo pattern (es /dev/hdb1), uno
> > dei quattro parametri elencati. Pensavo ad un
> >
> > df -h | grep hdb1 | sed .....e qui cosa ci metto?
>
> Se non puoi usare awk, ad esempio perchè non è uno dei comandi
> "essenziali" del FHS e quindi potrebbe non esserci (mai capitato che
> ci fosse sed e non ci fosse awk, ma magari in un contesto embedded
> chissà) si può usare
>
> df -P | sed -n '/hdb1/ s:^[^ ]* *\([0-9]*\) *\([0-9]*\) *\([0-9]*\)
> *\([0-9]*\)%.*$:\2:p'
Per completezza, allora, anche una soluzione senza sed (senza nulla
togliere alle altre, ovviamente):
df -h | grep hdb1 | tr -s ' ' | cut -d ' ' -f $n
dove $n e' il numero del campo che si vuole conoscere.
Ciao
|