Comment créer un script qui trie des lignes
Fermé
Nad
-
24 juil. 2015 à 06:58
nihad** Messages postés 3 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 24 juillet 2015 - 24 juil. 2015 à 21:54
nihad** Messages postés 3 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 24 juillet 2015 - 24 juil. 2015 à 21:54
A voir également:
- Comment créer un script qui trie des lignes
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Créer un lien pour partager des photos - Guide
- Comment creer un pdf - Guide
3 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié par mamiemando le 24/07/2015 à 09:54
Modifié par mamiemando le 24/07/2015 à 09:54
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
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
24 juil. 2015 à 10:01
24 juil. 2015 à 10:01
hello
une possibilité
une possibilité
$ while read A; do [[ ${A##*:} -ge 10 ]] && echo $A; done < fichier.txt
le premier:15
le deuxieme: 22
nihad**
Messages postés
3
Date d'inscription
vendredi 24 juillet 2015
Statut
Membre
Dernière intervention
24 juillet 2015
24 juil. 2015 à 18:17
24 juil. 2015 à 18:17
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.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
Modifié par zipe31 le 24/07/2015 à 19:11
Modifié par zipe31 le 24/07/2015 à 19:11
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
24 juil. 2015 à 19:26
24 juil. 2015 à 19:26
Je rejoins zipe31, ça ferait d'autant plus plaisir si tu tenais compte des réponses qui ont pu t'être proposées jusque là.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
>
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
24 juil. 2015 à 19:40
24 juil. 2015 à 19:40
Surtout que...
$ cat fichier
premier:3
deuxième:10
troisième:25
quatrième:2
cinquième:12
$ grep 'motif ;-))' fichier
deuxième:10
troisième:25
cinquième:12
nihad**
Messages postés
3
Date d'inscription
vendredi 24 juillet 2015
Statut
Membre
Dernière intervention
24 juillet 2015
>
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
24 juil. 2015 à 21:49
24 juil. 2015 à 21:49
merci pour la réponse c'est vraiment gentil!!!
mais une réponse sans conseille aurait été plus agréable,
à present je n'ai posé qu'une seule parmis les dixaines d'execices que je fais en solo en ce moment ,,,
désoléé pour le derangement!!!
mais une réponse sans conseille aurait été plus agréable,
à present je n'ai posé qu'une seule parmis les dixaines d'execices que je fais en solo en ce moment ,,,
désoléé pour le derangement!!!
nihad**
Messages postés
3
Date d'inscription
vendredi 24 juillet 2015
Statut
Membre
Dernière intervention
24 juillet 2015
>
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
24 juil. 2015 à 21:54
24 juil. 2015 à 21:54
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)