Fichiers contenant une chaine de caractère
Résolu/Fermé
mathieu
-
mathieu -
mathieu -
bonjour,
quelle commande me permettrait de savoir quels fichiers ds un dossier que l'on appellera D1 contiennent une chaîne de caractères string1?
je pense qu'il faut faire appel aux commandes find et grep.
à mon avis, il faudrait les utiliser ds une même ligne de commande.
jai essayé find [chemin du dossier D1] -name |grep string 1 -print...
ça ne marche pas...
merci de m'éclairer!
mathieu
quelle commande me permettrait de savoir quels fichiers ds un dossier que l'on appellera D1 contiennent une chaîne de caractères string1?
je pense qu'il faut faire appel aux commandes find et grep.
à mon avis, il faudrait les utiliser ds une même ligne de commande.
jai essayé find [chemin du dossier D1] -name |grep string 1 -print...
ça ne marche pas...
merci de m'éclairer!
mathieu
A voir également:
- Fichiers contenant une chaine de caractère
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
7 réponses
Salut,
Alors tu peux essayer avec la commande "find" comme ceci :
Tu peux aussi essayer comme ça :
Alors tu peux essayer avec la commande "find" comme ceci :
find /chemin/rep -name "*" -exec grep -Hn "string" {} \;Alors en gros on recherche dans le répertoire "/chemin/rep", en passant en revue tous les fichiers du répertoire et des sous-répertoires (tu peux cibler d'avantage en réduisant la recherche à quelques répertoires ou aux extensions de fichiers), puis pour chaque fichier on recherche la chaîne (string) en affichant le chemin (-H) et le numéro de ligne (-n) si la chaîne est trouvée.
Tu peux aussi essayer comme ça :
find /chemin/rep -name '*' |xargs grep -l "string";-))
grep -nri motif filtrefichier
n -> dans le fichier
r -> recherche récursive (ie dans les sous répertoires)
i -> insensible à la casse
Exemple :
$ grep -nri "include" *.cpp
n -> dans le fichier
r -> recherche récursive (ie dans les sous répertoires)
i -> insensible à la casse
Exemple :
$ grep -nri "include" *.cpp
à koi correspondent xargs et Hn?
Pour "xargs" => man xargs
pour "-Hn" => lire mon post en entier, c'est expliqué ;-))
Pour "{}", ça représente toutes les occurences trouvées correspondants au motif "*" (là dans ce cas, tous les fichiers du répertoire et des sous-répertoires).
Le ";" c'est pour signifier la fin de la commande, et le "\" devant c'est pour "échapper" le caractère ";".
Pour "xargs" => man xargs
pour "-Hn" => lire mon post en entier, c'est expliqué ;-))
Pour "{}", ça représente toutes les occurences trouvées correspondants au motif "*" (là dans ce cas, tous les fichiers du répertoire et des sous-répertoires).
Le ";" c'est pour signifier la fin de la commande, et le "\" devant c'est pour "échapper" le caractère ";".
merci!
si je comprends bien, il faut donc que je me positionne au niveau du dossier qui m'intéresse: ici D1...
car je ne souhaite pas kil me recherche la chaine ds tous les réperetoires mais juste ds le dossier D1 et je ne sais comment lui spécifier...
si je comprends bien, il faut donc que je me positionne au niveau du dossier qui m'intéresse: ici D1...
car je ne souhaite pas kil me recherche la chaine ds tous les réperetoires mais juste ds le dossier D1 et je ne sais comment lui spécifier...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question