IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Aide moi pour cet exercice


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Points : 58
    Points
    58
    Par défaut Aide moi pour cet exercice
    => écrire un script lisant son entrée standard et n'affichant que les lignes :
    paires
    contenant au moins 2 chiffres
    en les passant en majuscule (par la commande tr az AZ)
    et en affichant leur numéro (1 pour la première)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/bash
    l=1
    while [ 1 eq 1 ]; do
      read
      l0=$(( $l / 2))
    if [ $(( $l0 * 2 )) eq $l ] ; then
    if echo $REPLY | grep "^[^0-9]*[0-9][^0-9]*[0-9][^0-9]*$"> /dev/null
    then
    echo $l : `echo $REPLY | tr a-z A-Z`
    fi
    fi
    l=$(( $l + 1 ))
    done
    je veut savoir c koi > /dev/null et " | " se symbole il fait koi

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Salut.

    1) Pour répondre à tes questions :

    > c'est pour rediriger la commande (vers un fichier, ou /dev/null par exemple)
    > /dev/null C'est pour masquer l'exécution de la commande

    | sert à cibler la sortie d'une commande avec grep notamment ...

    2) Maintenant, place aux commentaires du script (à première vue) :
    - mauvaise indentation
    - while [ 1 eq 1 ] ???

    3) Et enfin pour finir :



    En espérant t'avoir aidé.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Points : 58
    Points
    58
    Par défaut
    merci

    mais j'ai pas comprie se que sa veut dire
    sert à cibler la sortie d'une commande

    et pour while [ 1 eq 1 ] ??? c pour faire une boucle infinie

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Citation Envoyé par yassin123441 Voir le message
    mais j'ai pas comprie se que sa veut dire
    sert à cibler la sortie d'une commande
    Avec des exemples, ce sera peut être plus clair :

    ps -ef affiche par exemple la liste des processus en cours ...
    ps -ef | grep firefox affiche la ligne correspondante au processus firefox.

    cat /etc/passwd | grep toto affiche la ligne correspondant à l'utilisateur toto dans /etc/passwd, etc. On a ciblé la sortie de la commande cat /etc/passwd.

    Citation Envoyé par yassin123441 Voir le message
    c pour faire une boucle infinie
    Pourquoi faire une boucle infinie ?

  5. #5
    Membre du Club
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Points : 58
    Points
    58
    Par défaut
    maintenant tout est claire ,

  6. #6
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    N'oublis pas de mettre en résolu alors

  7. #7
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour

    Le symbole | est nommé un pipe (lire à l'anglaise), et il sert a faire communiquer deux processus.

    Plus clairement, mais moins vrai, il sert a rediriger la sortie du premier appel vers le second.
    S'il est vrai que c'est parfois utilise avec grep, il est utilise a chaque fois que tu appelles un programme qui affiche son resultat a l'ecran, et que tu veux effectuer un traitement sur ce resultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /etc/passwd | grep toto
    ne sert a rien, a part faire une redirection inutile. La bonne utilisation dans ce cas est :
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  8. #8
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    Citation Envoyé par gangsoleil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /etc/passwd | grep toto
    ne sert a rien, a part faire une redirection inutile. La bonne utilisation dans ce cas est :
    Tout à fait mais c'était pour donner un exemple d'utilisation de ce symbole (dont j'avais oublié le nom, merci )...

    Une autre syntaxe parfois utile : grep "^toto:" /etc/passwd (pour chercher la phrase débutant par toto dans /etc/passwd).

Discussions similaires

  1. [Exercice] Trouver l'algorithme pour cet exercice.
    Par zinedineilham dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 23/11/2008, 00h13
  2. aide moi pour la segmentation des images
    Par gattal dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 08/03/2008, 12h42
  3. je cherche une solution pour cet exercice
    Par rafikadouni dans le forum Débuter
    Réponses: 4
    Dernier message: 22/11/2007, 22h26
  4. aidez moi dans cet exercice pour un exposer
    Par yassin123441 dans le forum C++
    Réponses: 15
    Dernier message: 09/03/2007, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo