Rechercher et afficher une chaîne de caractère variable
Résolu
primoOrion
Messages postés
3
Statut
Membre
-
primoOrion Messages postés 3 Statut Membre -
primoOrion Messages postés 3 Statut Membre -
Bonjour à tous,
j'aimerais créer un script shell qui me permettrait d'aller chercher une chaîne de caractère donné (constante) et d'afficher un caractère (ou un nombre) situé à une "distance" constante de la chaîne donnée en entré.
Voilà a quoi ressemble le fichier texte dans lequel j'aimerai effectué ma recherche:
Population analysis by basis function type
Unique atom s p d f g Total Charge
4 O 3.93093 5.12801 0.02745 0.00230 0.00000 9.08869 - 1.08869
5 H 0.74283 0.15635 0.01203 0.00000 0.00000 0.91121 + 0.08879
6 RB 2.95785 6.01587 0.02277 0.00362 0.00000 9.00011 - 0.00011
J'aimerais pouvoir recherché la chaîne de caractères "Population analysis by basis function type" qui est la même pour tout mes fichiers et afficher les trois nombres de la dernière collonne (charge), c'est à dire: - 1.08869, + 0.08879 et - 0.00011. Ces nombres variant d'un fichier à l'autre.
Il me faudrait donc probablement utiliser les commandes grep, sed et awk. J'ai fait pas mal de recherche mais n'ai pas trouvé ce qu'il me faut ...
Je précise que je suis débutant pour tout ce qui est système Linux et je possède des notions au language de programmation (C++).
Merci d'avance pour votre aide !
j'aimerais créer un script shell qui me permettrait d'aller chercher une chaîne de caractère donné (constante) et d'afficher un caractère (ou un nombre) situé à une "distance" constante de la chaîne donnée en entré.
Voilà a quoi ressemble le fichier texte dans lequel j'aimerai effectué ma recherche:
Population analysis by basis function type
Unique atom s p d f g Total Charge
4 O 3.93093 5.12801 0.02745 0.00230 0.00000 9.08869 - 1.08869
5 H 0.74283 0.15635 0.01203 0.00000 0.00000 0.91121 + 0.08879
6 RB 2.95785 6.01587 0.02277 0.00362 0.00000 9.00011 - 0.00011
J'aimerais pouvoir recherché la chaîne de caractères "Population analysis by basis function type" qui est la même pour tout mes fichiers et afficher les trois nombres de la dernière collonne (charge), c'est à dire: - 1.08869, + 0.08879 et - 0.00011. Ces nombres variant d'un fichier à l'autre.
Il me faudrait donc probablement utiliser les commandes grep, sed et awk. J'ai fait pas mal de recherche mais n'ai pas trouvé ce qu'il me faut ...
Je précise que je suis débutant pour tout ce qui est système Linux et je possède des notions au language de programmation (C++).
Merci d'avance pour votre aide !
A voir également:
- Rechercher et afficher une chaîne de caractère variable
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Rechercher ou saisir une url - Guide
- Caractere vide - Guide
4 réponses
hello
$ awk '/Population/ {for(n=1; n<6; n++){getline; if(n>2)print $(NF-1), $NF}} ' fichier
- 1.08869
+ 0.08879
- 0.00011
Salut et un grand merci pour ta réponse :)
Pourrais tu m'expliquer en quoi consiste les deux dernières options $(NF-1), $NF ?
Pourrais tu m'expliquer en quoi consiste les deux dernières options $(NF-1), $NF ?