Script pour fichier texte

Liiiili Messages postés 3 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

J'ai un fichier de mesure formée par de telles lignes

64 bytes from 2001:18:53cf:c467:560d:5ddc:80fb:8627: icmp_seq=1 ttl=64 time=0.621 ms

J'aimerai le lire ligne par ligne et construire un fichier texte résultat, de telle forme:

#Num T

1 0.621
..... ...

Merci
A voir également:

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,
jp@MDK:~/tmpfs ssh$ cat fich.txt
64 bytes from 2001:18:53cf:c467:560d:5ddc:80fb:8627: icmp_seq=1 ttl=64 time=0.621 ms
64 bytes from 2001:18:53cf:c467:560d:5ddc:80fb:8627: icmp_seq=1 ttl=64 time=0.628 ms
64 bytes from 2001:18:53cf:c467:560d:5ddc:80fb:8627: icmp_seq=1 ttl=64 time=0.456 ms
64 bytes from 2001:18:53cf:c467:560d:5ddc:80fb:8627: icmp_seq=1 ttl=64 time=0.287 ms

jp@MDK:~/tmpfs ssh$ cat foo.sh

#! /bin/bash

count=1

echo -e "# Num\tTime\n" > resultat.txt

while read ligne
do
temps=$(sed -n 's/.*=\([^ ]*\).*/\1/p' <<<${ligne})
echo -e "  $((count++))\t$temps" >> resultat.txt
done < fich.txt

jp@MDK:~/tmpfs ssh$ ./foo.sh

jp@MDK:~/tmpfs ssh$ cat resultat.txt
# Num   Time

  1     0.621
  2     0.628
  3     0.456
  4     0.287

jp@MDK:~/tmpfs ssh$
;-))
0
eZula Messages postés 3509 Statut Contributeur 392
 
edité
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
awk -F"[ =]" 'BEGIN{print "Num\tT"} ; {print NR "\t" $(NF-1)}' < fichier.txt

Num T
1 0.621
2 0.622
3 0.623
4 0.624
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Pas mieux ;-))

Merci.
0