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 :

commande shell bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 74
    Par défaut commande shell bash
    bonjour à tous
    je désire copier dans rep (rep se trouve dans le repertoire courant) les fichiers de /usr/include dont le nom commence par std puis créer un fichier allincludes.h qui contenant toutes les lignes des fichier du répertoire rep où apparaît la chaîne include.
    voilà ma réponse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #! /bin/bash
    cd ~
    mkdir rep
    cp `grep std* /udr/include` rep/
    cd rep
    for var in *
    do  
    cat $var|grep include > allincludes.h
    done
    est ce juste??
    merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Le but final est-il d'avoir uniquement un fichier "allincludes.h" contenant les bonnes lignes, ou d'avoir aussi le répertoire "rep" et ses fichiers "std*" ?

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 74
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Salut,

    Le but final est-il d'avoir uniquement un fichier "allincludes.h" contenant les bonnes lignes, ou d'avoir aussi le répertoire "rep" et ses fichiers "std*" ?
    merci pour votre réponse
    le but est d'avoir aussi le répertoire rep et ses fichiers

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Ok. Perso j'emploierai plutôt la commande "find" pour ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #! /bin/bash
    cd ~
    mkdir rep
    find /usr/include/ -maxdepth 1 -type f -name "std*" -exec cp -v {} rep/ \;
    egrep -h 'include\b' rep/std* > rep/allincludes.h

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 74
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Ok. Perso j'emploierai plutôt la commande "find" pour ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #! /bin/bash
    cd ~
    mkdir rep
    find /usr/include/ -maxdepth 1 -type f -name "std*" -exec cp -v {} rep/ \;
    egrep -h 'include\b' rep/std* > rep/allincludes.h
    merci pour votre réponse
    pouvez vous m'expliquer votre code? (-maxdepth, cp -v {}, egrep -h 'include\b' rep/std* )
    je suis débutant, c'est pourquoi dans mon code j'ai utilisé que des commandes de base sans options!
    merci infiniment d'avance

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Toutes les explications se trouvent dans les pages de "man" des commandes :
    find
    grep
    cp

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 74
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Toutes les explications se trouvent dans les pages de "man" des commandes :
    find
    grep
    cp
    merci j'ai bien compris ,il reste un seule caractère \b! pourquoi vous avez mis ce caractère???

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par achrafkaran Voir le message
    merci j'ai bien compris ,il reste un seule caractère \b! pourquoi vous avez mis ce caractère???
    C'est pourtant noté dans la page de man de "grep" :
    Le symbole \b correspond à une chaîne vide à l'extrémité d'un mot, et \B correspond à une chaîne vide ne se trouvant pas à une extrémité de mot.
    Sans ça, le grep retournerait aussi les chaînes comme "included".

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 74
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    C'est pourtant noté dans la page de man de "grep" :

    Sans ça, le grep retournerait aussi les chaînes comme "included".
    merci pour votre réponse

Discussions similaires

  1. Cherche une commande shell/bash pour traitement sur fichier
    Par breizho35 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 26/02/2015, 11h18
  2. Utiliser les commandes du shell bash
    Par man in the hill dans le forum Linux
    Réponses: 3
    Dernier message: 20/07/2006, 10h43
  3. [Debutant] Commande shell
    Par drosophile dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/04/2005, 15h06
  4. commande shell dans un programme
    Par diefo dans le forum C
    Réponses: 3
    Dernier message: 15/08/2003, 13h37
  5. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12

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