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 26/06/2007, 14h26   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 265
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 265
Points : 63
Points : 63
Par défaut Recherche d'une chaine de caractères

Bonjour je voudrai rechercher une chaine de carracteres sur un ensemble de fichiers, alors que je suis situe au dessus du repertoire, ou la rascine de l'arborescence, au dessus du home par exemple en linux. En d'autres termes, je demande s'il est possible de faire comme en Windows, trouver des noms de fichier en recherchant par chaine de carracteres dans une arbosrescence de dossier, et sur plusieurs fichiers.
Si quelqu'un peut me donner la syntaxe svp, et egalement un exemple explicite, parce que j'ai deja un livre -editions Eni- qui traite d'une maniere generale du langage shell, mais qui ne me montre pas de facon detaille comment on peut faire ce genre de recherche. Ou il n'y a pas d'index fait de facon suffisament explicite pour que je trouve tres rapidement.

En vous remerciant a l'avance.

Cordialement
smutmutant2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 14h57   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
tu peux faire

Code :
find /chemin/a/partir/duquel/tucherches/ -type f -exec grep "chaine" {} \;
mot a mot

cherche depuis_chemin tout_fichier y_effectuer_une_recherche de_"chaine"

grep fait la recherche elle meme

find et ses options ne definissent que ou checrher et a faire un tri pour ne tester que les fichier et pas les repertoires (type f)
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 15h22   #3
Membre actif
 
Étudiant
Inscription : novembre 2006
Messages : 287
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2006
Messages : 287
Points : 169
Points : 169
tu peux aussi faire
Code :
1
2
3
 
cd /position/de/depart
ls -laR |grep -i "chaine"
Explications des lignes
cd => tu te positionnes dans le répertoire d'ou tu veux partir (cd /home par exemple)
ls => liste les fichiers du répertoire courant
-l => affichage de renseignements sur le fichier
-a => affiche tous les fichiers (meme cachés)
-R => va récursivement (liste le contenu de chaque dossier, sous-dossier, etc)

| => pipe = le membre à droite du pipe récupère le résultat du membre à gauche du pipe
grep -i => affiche sur la sortie standard les lignes qui contiennent "chaine"
-i => insensible à la casse

Voili voilou
bit_o est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 15h26   #4
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Citation:
Envoyé par smutmutant2003
Bonjour je voudrai rechercher une chaine de carracteres sur un ensemble de fichiers, alors que je suis situe au dessus du repertoire, ou la rascine de l'arborescence, au dessus du home par exemple en linux.
Autre possibilité ( nota : . correspond au répertoire courant ) :

find . -type f | xargs grep {chaine_recherchée}


Recherche récursive avec grep :

grep -r {chaine_recherchée} *

http://linux.developpez.com/faq/?page=Shells
http://man.developpez.com/man1/grep.1.php
__________________
Loi de Murphy:
La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 15h32   #5
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
Citation:
Envoyé par bit_o
[...]
sauf que la tu as aussi les repertoires dans tes resultats
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 15h42   #6
Membre actif
 
Étudiant
Inscription : novembre 2006
Messages : 287
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2006
Messages : 287
Points : 169
Points : 169
il n'a pas dit qu'il ne voulait que les fichiers, si ?
si c'est le cas, je suis désolé ma solution (qui me paraissait plus rapide ) ne te donnera pas le résultat escompté
bit_o est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 16h51   #7
Membre du Club
 
Inscription : janvier 2007
Messages : 265
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 265
Points : 63
Points : 63
Citation:
Envoyé par bit_o
il n'a pas dit qu'il ne voulait que les fichiers, si ?
Effectivement je voulais que les fichiers et leur chemin, mais avec ce que vous m'avez donne comme infos, ca me suffit largement.
Je vous remercie a tous -ou toute(s) s'il y a des dames ou demoiselle(s)-
Cordialement
smutmutant2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h39.


 
 
 
 
Partenaires

Hébergement Web