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 13/11/2009, à 02:56

aemaeth2501

[Résolu] Utilisation du "grep"

Bonsoir !

Plutôt que de chercher des solutions toutes prêtes sur le web, je voudrais me faire un peu la main tout seul.

En gros, je voudrais, en ligne de commande, récupérer les éléments de texte en gras :

aemaeth@aemaeth-server:~$ sensors
f71882fg-isa-0290
Adapter: ISA adapter
3.3V:        +3.36 V
Vcore:       +1.09 V  (max =  +2.04 V)   
Vdimm:       +1.79 V
Vchip:       +1.30 V
+5V:         +4.91 V
12V:        +13.65 V
5VSB:        +4.58 V
3VSB:        +3.36 V
Battery:     +3.28 V
CPU:         936 RPM
System:     1010 RPM
Power:         0 RPM  ALARM
Aux:           0 RPM  ALARM
CPU:         +[b]48.0°C[/b]  (high = +75.0°C, hyst = +71.0°C)  
                      (crit = +100.0°C, hyst = +96.0°C)  sensor = Intel PECI
System:      +[b]27.0°C[/b]  (high = +75.0°C, hyst = +71.0°C)  
                      (crit = +100.0°C, hyst = +96.0°C)  sensor = transistor

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      [b]+39.0°C[/b]  (high = +76.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      [b]+39.0°C[/b]  (high = +76.0°C, crit = +100.0°C)

Pour le moment, et avec comme exemple la dernière valeur (Core 1), je fais comme ca :

aemaeth@aemaeth-server:~$ sensors | grep "Core 1" | grep -o '+[0-9]\+'

qui me renvoie :

+39
+76
+100

Malheureusement, seule première valeur m'interesse. Je n'ai pas encore la logique des grep et autres commandes obscures de terminal. Le manuel de la commande grep me donne l'option -m , mais en faisant -m 1 ca me renvoie toujours les 3 valeurs.

Alors si vous avez la solution de mon soucis, ou une manière plus "lean" d'obtenir ces résultats, donnez moi juste des pistes (je ne veux pas le résultat tout prêt dans le bec : quand je cherche pas, je ne me rappelle pas wink )

Merci d'avance !

Dernière modification par aemaeth2501 (Le 13/11/2009, à 03:27)

Hors ligne

#2 Le 13/11/2009, à 03:05

AnsuzPeorth

Re : [Résolu] Utilisation du "grep"

Bjr,
Le resultat sort sur 3 lignes (c'est étonnant)??? Si oui, regarde la commande 'head'.
Si c'est sur la même ligne, la commande 'cut' te sera utile.

Sinon, peut être que sed te servira ! (un peu plus complexe, pas nécessaire ici)
Un bon tuto sed :
http://www.commentcamarche.net/faq/suje … sed-part-i

Dernière modification par AnsuzPeorth (Le 13/11/2009, à 03:08)


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

Hors ligne

#3 Le 13/11/2009, à 03:08

aemaeth2501

Re : [Résolu] Utilisation du "grep"

Je vais regarder ca smile

MERCI !!!


edit :

sensors | grep "Core 1" | grep -o '+[0-9]\+' | head -n 1

Encore merci smile

Sinon, est ce qu'il y a une manière plus rigoureuse ?

Dernière modification par aemaeth2501 (Le 13/11/2009, à 03:12)

Hors ligne

#4 Le 13/11/2009, à 03:17

ADcomp

Re : [Résolu] Utilisation du "grep"

Hello ..

aemaeth2501 a écrit :

Sinon, est ce qu'il y a une manière plus rigoureuse ?

Surement .. + encore en fonction des gouts et couleurs  wink

Ex :

sensors | grep "Core 1" | awk '{print $3}'
+39.0°C

David [aka] ADcomp

Hors ligne

#5 Le 13/11/2009, à 03:26

aemaeth2501

Re : [Résolu] Utilisation du "grep"

Waouh... fort awk smile

Je vais donc apprendre à manipuler awk et sed : ca a l'air d'être des outils puissants O_O

Merci à vous deux !

Hors ligne

#6 Le 13/11/2009, à 03:37

AnsuzPeorth

Re : [Résolu] Utilisation du "grep"

Bon courage pour awk (hors utilisation simple), j'y comprends tjrs pas grand chose smile
Je trouve sed plus abordable .

Si tu débute, commence par les commandes simples, tu peux déjà en faire pas mal avec.

awk '{print $3}'
cut -d " " -f3

Ces 2 commandes sont presque identique (awk se débrouille seul avec le délimiteur, des fois bien utile !), le commandes simple te feront gagner du temps plutot que de plancher sur awk !

Dernière modification par AnsuzPeorth (Le 13/11/2009, à 03:38)


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

Hors ligne

#7 Le 13/11/2009, à 04:28

aemaeth2501

Re : [Résolu] Utilisation du "grep"

D'accord smile

Merci encore !

Hors ligne

#8 Le 13/11/2009, à 04:31

Hizoka

Re : [Résolu] Utilisation du "grep"

Pareil j'ai beau essayé, awk j'y arrive pas alors que sed commence à bien rentrer dans ma tête, il est ultra puissant smile

bon courage

pS : sed peut également faire comme grep :

sensors | sed -n "/^Core 1:/  s/.*+// ; s/°C.*/°C/p"
sed : commande
-n : lit tout le texte
/^Core 1:/ : recherche une ligne qui commence par Core 1:
s/.*+// : remplace tout ce qu'il y a jusqu'au signe + par "rien".
; : séparation des commandes
s/°C.*/°C/ : remplace tout à partir de °C par "°C"
p : affiche la ligne

Dernière modification par Hizoka (Le 13/11/2009, à 05:53)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#9 Le 13/11/2009, à 19:30

aemaeth2501

Re : [Résolu] Utilisation du "grep"

Merci pour ce décorticage de sed : je commence à comprendre la logique. En effet, c'est puissant smile

Hors ligne