Filtres shell Unix

Fermé
Yann - 18 juin 2013 à 17:17
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 18 juin 2013 à 17:23
Bonjour,

J'aimerais avoir de l'aide pour un script shell sous Unix pour traiter un fichier de données ayant l'apparence suivante:

! 978. ! 7.!091115! 2.!34978.!0.804! 1.41! 0.11!-0.01! 1.40!
! 978. ! 7.!091115! 2.!36977.!0.808! 1.44! -0.38! 0.00! 1.44!
! 978. ! 7.!091115! 2.!38973.!0.803! 1.48! 1.90!-0.01! 1.46!

Chaque est ligne est formatée de la même façon, avec le même nombres de colonnes qui sont identiques.

Le but est pour moi de récupérer la valeur du 8e champ (donc respectivement 0.11, -0.38 et 1.90) et d'appliquer un filtre pour renvoyer les valeurs inférieures à -1.5 et supérieures à +1.5
J'avais pensé à une commande awk mais j'avoue ne pas savoir appréhender le fait qu'il y ait un ou deux espaces avant la valeur séparée.
awk '$8>1.5 {print $0}' >> fichier_sup_hl
awk '$8<-1.5 {print $0}' >> fichier_inf_hl

Merci de votre aide.

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
18 juin 2013 à 17:23
Salut,

awk -F'!' '$9>1.5 {print $0}' fichier_entrée >> fichier_sup_hl
awk -F'!' '$9<1.5 {print $0}' fichier_entrée >> fichier_inf_hl 

0