bonjour et merci d'avance
voila la dernière ligne
18-07-15 17:33 12.47V 454mA
j'aimerai obtenir 12.47
et accessoirement 454
bien sur il doit toujours chercher la dernière ligne car le fichier a 1 ligne de plus chaque minute
super grand merci
bonjour et merci d'avance
voila la dernière ligne
18-07-15 17:33 12.47V 454mA
j'aimerai obtenir 12.47
et accessoirement 454
bien sur il doit toujours chercher la dernière ligne car le fichier a 1 ligne de plus chaque minute
super grand merci
Bonjour,
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 man cut man tail
Avec les commandes indiquées par supersnail si avoir le V et le mA ne te dérange pas sinon un sed marcherais.
A toi de trouver la commande tail à mettre à la place du echo et à adapter le sed pour avoir ce que tu souhaites
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo "18-07-15 17:33 12.47V 454mA" | sed "s/.* \(.*\)V \(.*\)mA/\1 \2/" 12.47 454![]()
merci pour ces indices, j'adore
a plus avec la commande..
serait il possible de m'expliquer un peu plus en détail sed "s/.* \(.*\)V \(.*\)mA/\1 \2/"merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part cat Fichier | tail -1 | sed "s/.* \(.*\)V \(.*\)mA/\1 \2/"
Je vais chercher les autres possibilié plus tard
maintenant il me reste a créer une boucle qui attends que la valeur de V soit <=12
la j'ai encore de la peine
merci encore
C'était presque ça, il n'y a pas besoin du cat
sed utilise les expressions régulières ce qui est très pratique. Je te conseille de regarder une documentation dessus pour en savoir plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part tail -1 Fichier | sed "s/.* \(.*\)V \(.*\)mA/\1 \2/"
sed remplacera la première occurence de xxx par yyy du fichier et affichera le résultat à l'écran
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed "s/xxx/yyy/" fichier
\1 = 1er texte situé entre la 1ère série de \( et \)
\2 = 2ème texte situé entre la 2ème série de \( et \)
etc ...
.* = tout texte qui sera le plus long possible tant que l'expression régulière est bien complète
Le 1er .* ira donc jusqu'au dernier espace avant le V
\(.*\)V correspondra donc au 12.47V
(.*\)mA correspondra donc au 454mA
Déjà merci pour votre aide
comme dit juste au dessus j'ai besoin de faire une boucle pouvez vous me donner quelque piste mais un peu plus détaillé que simplement while
A plus
Partager