Filtres shell Unix

Yann -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   6 430
 
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