Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/03/2009, à 21:31

gene69

[bash][résolu] analyser la sortie d'un programme

Bonjour

est ce que quelqu'un pourrai me proposer une solution sur une manière élégante et efficace de parser la sortie de

sudo hdparm -I /dev/sda

le but est de retirer le sérial number.  J'ai pensé à
hdparm -I /dev/sdc | grep "Serial Number". mais après je sais pas quoi faire et je ne sais pas non plus comment placer cette valeur dans une variable pour un script bash.

merci de votre aide.

Dernière modification par gene69 (Le 09/03/2009, à 22:28)


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#2 Le 09/03/2009, à 21:35

AnsuzPeorth

Re : [bash][résolu] analyser la sortie d'un programme

Il faudra decouper un peu plus la sortie, juste grep "serial number" te donnerra surement une var de type "serial number= 122253", si tu veux extraire juste le numero , utilise cut par exemple.

Pour placer le resultat dans une variable:

var=$(hdparm -I /dev/sda | grep "serial number" | cut -d "=" -f2)

Il faut voir la sortie de hdparm -I


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#3 Le 09/03/2009, à 21:37

KnarNantais

Re : [bash][résolu] analyser la sortie d'un programme

Bonsoir,

tu peux essayer :

sudo hdparm -I /dev/sda|grep -v "Serial Number"


------------------------------------------------------------------
Kubuntu 11.10 64 bits - KDE 4.7.1 - Fixe   Montage perso - Core2 Duo E8400 - P5Q Deluxe + 4Go - Nvidia Gforce 8400 GS - 2x500 Go
   ""         11.10 64 bits                     - Portable : ASUS  K72JT-TY185V core i3 380M + 4 Go - AMD Radeon HD 6370M - 500 Go

Hors ligne

#4 Le 09/03/2009, à 21:37

gene69

Re : [bash][résolu] analyser la sortie d'un programme

hdparm -I /dev/sdc | grep "Serial Number"
    Serial Number:      9SY00T6K

dans le cas qui m'interesse


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#5 Le 09/03/2009, à 21:39

KnarNantais

Re : [bash][résolu] analyser la sortie d'un programme

désolé j'ai lu trop rapidement et je t'ai proposé l'inverse.


------------------------------------------------------------------
Kubuntu 11.10 64 bits - KDE 4.7.1 - Fixe   Montage perso - Core2 Duo E8400 - P5Q Deluxe + 4Go - Nvidia Gforce 8400 GS - 2x500 Go
   ""         11.10 64 bits                     - Portable : ASUS  K72JT-TY185V core i3 380M + 4 Go - AMD Radeon HD 6370M - 500 Go

Hors ligne

#6 Le 09/03/2009, à 21:43

AnsuzPeorth

Re : [bash][résolu] analyser la sortie d'un programme

Pour recuperer dans var le numero:

var=$(hdparm -I /dev/sda | grep "serial number" | cut -d ":" -f2)

Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#7 Le 09/03/2009, à 22:15

gene69

Re : [bash][résolu] analyser la sortie d'un programme

je suis embété ça marche pas sad, je vais étudier ça


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#8 Le 09/03/2009, à 22:23

KnarNantais

Re : [bash][résolu] analyser la sortie d'un programme

Attention à l'orthographe :

C'est "Serial Number" et non pas "serial number". Deplus il faut être super utilisateur :

sudo hdparm -I /dev/sda | grep "Serial Number" | cut -d ":" -f2


------------------------------------------------------------------
Kubuntu 11.10 64 bits - KDE 4.7.1 - Fixe   Montage perso - Core2 Duo E8400 - P5Q Deluxe + 4Go - Nvidia Gforce 8400 GS - 2x500 Go
   ""         11.10 64 bits                     - Portable : ASUS  K72JT-TY185V core i3 380M + 4 Go - AMD Radeon HD 6370M - 500 Go

Hors ligne

#9 Le 09/03/2009, à 22:27

gene69

Re : [bash][résolu] analyser la sortie d'un programme

var=$(hdparm -I /dev/sda | grep "serial number" | cut -d ":" -f2)
var=`expr match "$var" '[ \t\n]*\(.*[^ \t\n]\)[ \t\n]*$'`
echo "$var"

ça marche merci

peut être que trimer avec echo $var serait plus simple dans mon cas.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne