Pages : 1
#1 Le 13/11/2009, à 01: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 )
Merci d'avance !
Dernière modification par aemaeth2501 (Le 13/11/2009, à 02:27)
Hors ligne
#2 Le 13/11/2009, à 02: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, à 02: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, à 02:08
- aemaeth2501
Re : [Résolu] Utilisation du "grep"
Je vais regarder ca
MERCI !!!
edit :
sensors | grep "Core 1" | grep -o '+[0-9]\+' | head -n 1
Encore merci
Sinon, est ce qu'il y a une manière plus rigoureuse ?
Dernière modification par aemaeth2501 (Le 13/11/2009, à 02:12)
Hors ligne
#4 Le 13/11/2009, à 02:17
- ADcomp
Re : [Résolu] Utilisation du "grep"
Hello ..
Sinon, est ce qu'il y a une manière plus rigoureuse ?
Surement .. + encore en fonction des gouts et couleurs
Ex :
sensors | grep "Core 1" | awk '{print $3}'
+39.0°C
David [aka] ADcomp
Hors ligne
#5 Le 13/11/2009, à 02:26
- aemaeth2501
Re : [Résolu] Utilisation du "grep"
Waouh... fort awk
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, à 02:37
- AnsuzPeorth
Re : [Résolu] Utilisation du "grep"
Bon courage pour awk (hors utilisation simple), j'y comprends tjrs pas grand chose
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, à 02: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, à 03:28
- aemaeth2501
Re : [Résolu] Utilisation du "grep"
D'accord
Merci encore !
Hors ligne
#8 Le 13/11/2009, à 03: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
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, à 04:53)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#9 Le 13/11/2009, à 18: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
Hors ligne
Pages : 1