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 :

Les conversions de chemins Win/Linux (avec Find sous Cygwin)


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 62
    Par défaut Les conversions de chemins Win/Linux (avec Find sous Cygwin)
    A ceux qui ont déjà utilisé Find sous Cygwin, comment faites vous pour ne pas vous arracher les cheveux lorsque Find identifie plusieurs fichiers et que vous souhaitez exécuter une commande sur ces fichiers (via '| xargs grep' par ex) LORSQU'IL Y A DES ESPACES dans les chemins renvoyés par Find ?

    Car j'ai beau tout essayé avec 'sed' et 'cygpath' notamment pour "réparer" à la volée les noms de chemins mais je n'ai trouvé quelque chose de vraiment satisfaisant, ca finit toujours par générer des erreurs.

    J'ai bien trouvé cette piste mais je n'y pas comprends pas tout, de plus leurs discussions ne semblent pas aboutis :
    http://www.mail-archive.com/cygwin@c...msg104037.html

    Alors quel est votre secret pour ne pas finir chauve ?

    Merci à tout éclaireur !!

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 133
    Par défaut
    La manière la plus sure de prendre en compte les noms de répertoire comportant des espaces avec Cygwin (ou Uwin) est d'encadrer ces noms de répertoire avec des guillemets, simples quand le nom de répertoire est 'en dur', doubles quand il comporte une variable qui sera résolue à l'exécution.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    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
    Par défaut
    Bonjour,

    Citation Envoyé par bros_70 Voir le message
    comment faites vous pour ne pas vous arracher les cheveux lorsque Find identifie plusieurs fichiers et que vous souhaitez exécuter une commande sur ces fichiers (via '| xargs grep' par ex) LORSQU'IL Y A DES ESPACES dans les chemins renvoyés par Find ?
    J'utilise l'option -exec de find. Par exemple pour trouver tous les fichiers ayant l'extension ".txt" et contenant la chaine toto, tu peux utiliser la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find / -name "*.txt" -exec grep -l toto
    Si tu souhaites afficher chaque ligne contenant toto en plus du nom de fichier, avec le numero de ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find / -name "*.txt" -exec grep -n toto -print
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/05/2010, 01h16
  2. Serveur Win 2008 avec Cluster sous Virtal server?
    Par zoltix dans le forum Virtualisation
    Réponses: 1
    Dernier message: 26/10/2009, 16h18
  3. Problème avec grep sous Cygwin
    Par tnarol dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/07/2008, 17h12
  4. Pb avec g++ sous cygwin
    Par asm76 dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 10/05/2007, 10h44
  5. Linker avec libboost_serialization sous Cygwin
    Par mi6fred dans le forum Linux
    Réponses: 5
    Dernier message: 13/06/2006, 23h13

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