Jai fait quelques benchmarks et le résultat est un seul fichier contenant plusieurs résultats avec le format suivant
[blaaa] 1st run T/V N NB P Q Time ========================== 2 3 4 1 2 1.02 [blaaaa...] 2nd run T/V N NB P Q Time ========================== 4 42 4 1 2 1.22 Je souhaite uniquement obtenir les temps dexécution des différentes exécutions que jai effectuées. Est-il donc possible de grep « Time » et dimprimer la colonne suivante mais une seule? Ou même pour imprimer uniquement
1.02 1.22 pour mon exemple ci-dessus? Je préférerais imprimer uniquement les trois colonnes de résultats sans la partie blaa: D
Commentaires
- Vous voulez dire la même colonne, la suivante mais une ligne ?
Réponse
 En supposant que Time est toujours dans le sixième champ: 
$ awk "$6 == "Time" {t = NR} t && NR == t+2 {print $6}" file 1.02 1.22  Vous pouvez également utiliser getline deux fois – quick « n » dirty : 
awk "$6 == "Time" {getline; getline; print $6}" file  (« dirty » car il ne « t vérifie pas la getline valeur de retour). 
Commentaires
-  Ou utilisez $NFsi ' est toujours la dernière colonne.
- @Kusalananda oui bon point
Réponse
$ grep -o "Time\|[0-9\.]\+$" file Time 1.02 Time 1.22 $ grep -o "[0-9\.]\+$" file 1.02 1.22 $ grep -A2 ^T/V file T/V N NB P Q Time ========================== 2 3 4 1 2 1.02 -- T/V N NB P Q Time ========================== 4 42 4 1 2 1.22  Les résultats sont séparés par -- dans le dernier grep qui peut être supprimé avec: 
$ grep -A2 ^T/V file | grep -v "^--"  Et avec les lignes ==== supprimées : 
$ grep -A2 ^T/V file | grep -v "^--\|=\+" Réponse
 Vous avez obtenu deux réponses en utilisant awk and grep, vous pouvez également essayer sed: 
sed -E "/===*/{N;s/.*([0-9]+\.[0-9]*)/\1/g};t;d" file_name  Ici /===*/, correspondra à ===.., puis il ira à la ligne suivante et trouvera les nombres à virgule flottante avec décimal entre eux, et sautera et supprimera toutes les autres lignes. 
Il affichera la sortie comme:
1.02 1.22