Script shell .
AK
-
tuxboy Messages postés 1083 Statut Membre -
tuxboy Messages postés 1083 Statut Membre -
Bonjour,
je veux savoir une commande qui me calcule la différence entre deux nombre dans un fichier.
pour plus de détails c'est mon fichier texte :
je veux calculer la différence entre chaque deux pkt_pts successifs
merci pour vos réponses.
je veux savoir une commande qui me calcule la différence entre deux nombre dans un fichier.
pour plus de détails c'est mon fichier texte :
pict_type=I pkt_pts=70435.549178 -- pict_type=I pkt_pts=70436.909178 -- pict_type=I pkt_pts=70438.189178 -- pict_type=I pkt_pts=70439.669178 -- pict_type=I pkt_pts=70440.029178 -- pict_type=I pkt_pts=70441.469178 -- pict_type=I pkt_pts=70442.549178 -- pict_type=I pkt_pts=70443.869178 -- pict_type=I pkt_pts=70445.029178 -- pict_type=I pkt_pts=70446.629178 -- pict_type=I pkt_pts=70447.789178 -- pict_type=I pkt_pts=70449.029178 -- pict_type=I pkt_pts=70450.229178 -- pict_type=I pkt_pts=70451.549178 -- pict_type=I pkt_pts=70452.989178 -- pict_type=I pkt_pts=70454.429178
je veux calculer la différence entre chaque deux pkt_pts successifs
merci pour vos réponses.
A voir également:
- Script shell .
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
3 réponses
hello
à vérifier
à vérifier
$ awk -F= '$1 !~ /^pkt/ {next} {n++; p[a++]=$2; printf "%s\t%.3f\n", $0, n==1 ? 0 : $2-p[a-2]}' fichier
pkt_pts=70435.549178 0.000
pkt_pts=70436.909178 1.360
pkt_pts=70438.189178 1.280
pkt_pts=70439.669178 1.480
pkt_pts=70440.029178 0.360
pkt_pts=70441.469178 1.440
pkt_pts=70442.549178 1.080
pkt_pts=70443.869178 1.320
pkt_pts=70445.029178 1.160
pkt_pts=70446.629178 1.600
pkt_pts=70447.789178 1.160
pkt_pts=70449.029178 1.240
pkt_pts=70450.229178 1.200
pkt_pts=70451.549178 1.320
pkt_pts=70452.989178 1.440
pkt_pts=70454.429178 1.440
$
salut,
propose-nous un algorithme, et au moins un début de code
nous serons content de d'aider alors; pas de faire ton boulot !
propose-nous un algorithme, et au moins un début de code
nous serons content de d'aider alors; pas de faire ton boulot !
Tu peux partir par exemple là dessus :
#! /bin/bash
for line in $(cat file.txt);
do
T=$(echo "$line" | sed s/[^0-9.]*//g)
echo $T;
done
#! /bin/bash
for line in $(cat file.txt);
do
T=$(echo "$line" | sed s/[^0-9.]*//g)
echo $T;
done
- une boucle for sur une substitution de commande va itérer sur chaque mot retourné.
- uuoc !
- passer par une variable pour exécuter une commande pour ensuite afficher la variable est inutile.
un fichier se lit en utilisant une boucle while et en redirigeant le contenu du fichier vers celle-ci.
avant de proposer une solution, teste-la !
- uuoc !
- passer par une variable pour exécuter une commande pour ensuite afficher la variable est inutile.
un fichier se lit en utilisant une boucle while et en redirigeant le contenu du fichier vers celle-ci.
avant de proposer une solution, teste-la !
awk -F= '/^pkt/ {n++; p[a++]=$2; printf "%s\t%.3f\n", $0, n==1 ? 0 : $2-p[a-2]}' fichier