On Sunday 06 July 2003 02:12, Tarhon-Onu Victor wrote:
> On Sat, 5 Jul 2003, Alex wrote:
> > Cred ca e de vina kernelul nou instalat de vreo 2 zile. Pina acum
> > foloseam
>
> Eu cred ca nu.
> cut -d delimitator -f numar_cimp iti intoarce al numar_cimp
> delimitat de delimitatorul "delimitator". Daca tu ai mai multi
> delimitatori consecutivi atunci e problema ta.
> Uite, sa facem un test. Fie sirul de caractere: "1:2::3:4". A se
> observa ca intre 2 si 3 sint 2 de ::, nu unul ca in rest. Sa se
> analizeze outputul urmator:
>
> 02:08:34 blackblue (Mituc):~>echo '1:2::3:4' | cut -d: -f1
> 1
> 02:08:59 blackblue (Mituc):~>echo '1:2::3:4' | cut -d: -f2
> 2
> 02:09:00 blackblue (Mituc):~>echo '1:2::3:4' | cut -d: -f3
>
> 02:09:01 blackblue (Mituc):~>echo '1:2::3:4' | cut -d: -f4
> 3
> 02:09:01 blackblue (Mituc):~>echo '1:2::3:4' | cut -d: -f5
> 4
>
> Intelegi unde bat? echo '1:2::3:4' | cut -d: -f3 a returnat ce
> era pe pozitia 3, adica intre delimitatorul 2 si 3, adica nimic.
>
> Deci refa matale scripturile alea cu awk sau cumva si nu mai da
> vina pe kernel!:)
>
> Cel putin linia:
> TRANSMIT=`echo $INFO | cut -d" " -f9`
> Ar trebui sa devina:
> TRANSMIT=`echo $INFO | awk '{print $9}'`
>
> Acum ca ai inteles cu restul te descurci!:)
Corecta observatia, dar inutila in cazul de fata. Desi in /proc/net/dev
valorile numerice sunt separate de mai multe spatii, in momentul in care se
face atribuirea "var=`grep interfata /proc/net/dev`", valorile vor fi
separate de un singur spatiu. Spre exemplu:
[EMAIL PROTECTED] xcyborg]$ grep eth0 /proc/net/dev
eth0: 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
[EMAIL PROTECTED] xcyborg]$ test=`grep eth0 /proc/net/dev`
[EMAIL PROTECTED] xcyborg]$ echo $test
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Deci scriptul in cazul de fata ar lucra corect pentru ca nu vor fi mai multe
spatii consecutive. Probabil nu poate fi accesat /proc/net/dev si de aceea
scriptul nu functioneaza.
Mihai