Comment créer un script qui trie des lignes
Nad
-
nihad** Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
nihad** Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
comment créer un script qui affiche la valeure qui est supérieur a 10, et ce dans un fichier texte: fic.txt.
le contenu de ce fichier est le suivant
le premier:15
le deuxieme: 22
le troisieme :5
le quatrieme :7
Merci!
Je suis débutante en cette matiére (je suis une formation en ce temps-ci-;)
comment créer un script qui affiche la valeure qui est supérieur a 10, et ce dans un fichier texte: fic.txt.
le contenu de ce fichier est le suivant
le premier:15
le deuxieme: 22
le troisieme :5
le quatrieme :7
Merci!
Je suis débutante en cette matiére (je suis une formation en ce temps-ci-;)
A voir également:
- Comment créer un script qui trie des lignes
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte google - Guide
- Comment créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
3 réponses
Tu comprendras aisément que si on te donne une réponse clé en main, ce n'est pas comme ça que tu vas progresser dans ta formation. Donc à part te dire quoi regarder et te laisser chercher un peu je ne vois pas trop quelle est la meilleure approche...
De plus l'énoncé est pas clair. Tu dis "la valeur supérieure à 10" et dans ton exemple il y en a deux (12 et 22).
Donc ensuite voici la manière dont je le ferais : regarde la commande grep ou un homologue, par exemple egrep. Une fois que tu auras compris le rôle de l'option -o et comment extraire un entier, tu auras éliminé de chaque ligne ce qui ne nous intéresse pas ("le premier", "le deuxième" etc...) de sorte à obtenir :
Cette commande va ressembler à quelque chose du genre :
... en remplaçant ton_motif par la bonne expression régulière.
Ensuite tu peux faire un test sur une valeur et si elle vérifie ce test, l'écrire avec echo.
L'idée est donc d'effectuer le bon test (appelons ton_test) dans une boucle qui itère sur ce que retourne
Bonne chance
De plus l'énoncé est pas clair. Tu dis "la valeur supérieure à 10" et dans ton exemple il y en a deux (12 et 22).
Donc ensuite voici la manière dont je le ferais : regarde la commande grep ou un homologue, par exemple egrep. Une fois que tu auras compris le rôle de l'option -o et comment extraire un entier, tu auras éliminé de chaque ligne ce qui ne nous intéresse pas ("le premier", "le deuxième" etc...) de sorte à obtenir :
12
22
5
7
Cette commande va ressembler à quelque chose du genre :
egrep -o ton_motif /home/toto.fic.txt
... en remplaçant ton_motif par la bonne expression régulière.
Ensuite tu peux faire un test sur une valeur et si elle vérifie ce test, l'écrire avec echo.
(mando@velvet) (~) $ test 7 -eq 7 && echo ":)"
:)
(mando@velvet) (~) $ test 7 -eq 8 && echo ":)"
(mando@velvet) (~) $
L'idée est donc d'effectuer le bon test (appelons ton_test) dans une boucle qui itère sur ce que retourne
egrep. À chaque itération, on met à jour la variable x sur laquelle portera "ton_test".
egrep -o motif /home/toto.fic.txt | while read x; do (test ton_test && echo $x); done
Bonne chance
hello
une possibilité
une possibilité
$ while read A; do [[ ${A##*:} -ge 10 ]] && echo $A; done < fichier.txt
le premier:15
le deuxieme: 22
Merci pour votre réponse, mais malheureusement ça ne marche pas!
je réitere mon exercice:
Vous allez utiliser un fichier dans lequel les informations suivantes sont stockées:
premier:3
deuxième:10
troisième:25
quatrième:2
cinquième:12
Écrire un script qui permet de n'afficher que les enregistrements dont la valeur est supérieure à 10.
je réitere mon exercice:
Vous allez utiliser un fichier dans lequel les informations suivantes sont stockées:
premier:3
deuxième:10
troisième:25
quatrième:2
cinquième:12
Écrire un script qui permet de n'afficher que les enregistrements dont la valeur est supérieure à 10.
pas de prob,
aussitôt que je trouve la réponse je te la ferai parvenir..
pour l'instant je suis engloutie dans ls boucles...
si tu as des questions n'hsite pas a me les poser ,ni je te donnerai conseil, ni je te jugerai.
tu n'auras que la reponse ( si je serais en mesure de te repondre bien entendu)
aussitôt que je trouve la réponse je te la ferai parvenir..
pour l'instant je suis engloutie dans ls boucles...
si tu as des questions n'hsite pas a me les poser ,ni je te donnerai conseil, ni je te jugerai.
tu n'auras que la reponse ( si je serais en mesure de te repondre bien entendu)