Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/02/2010, 01h08   #1
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
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 !!
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2010, 09h16   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur développement décisionnel
Inscription : mai 2002
Messages : 4 299
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 299
Points : 6 902
Points : 6 902
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
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2010, 16h43   #3
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 129
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 129
Points : 8 749
Points : 8 749
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 :
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 :
1
2
 
find / -name "*.txt" -exec grep -n toto -print
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h09.


 
 
 
 
Partenaires

Hébergement Web