Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/09/2016, à 13:17

Bybeu

[Résolu] Recherche récursive de chaîne via .bash_aliases

Bonjour
Comment faire pour intégrer cette commande dans ~/.bash_aliases pour qu'elle demande le chemin de recherche et la chaîne à rechercher dans les fichiers ?

find /path/to/dir -type f -print0 | xargs -0 grep -li "foo"

J'ai essayé

alias finds="read -p \"Chemin?\" path | read -p \"Chaîne?\" string | find $path -type f -print0 | xargs -0 grep -il \"$string\""

mais ça me liste tous les fichiers sans rien demander comme entrée au clavier

Merci

Dernière modification par Bybeu (Le 08/09/2016, à 14:08)

Hors ligne

#2 Le 08/09/2016, à 13:35

pingouinux

Re : [Résolu] Recherche récursive de chaîne via .bash_aliases

Bonjour,
Essaye ceci :

alias finds='read -p "Chemin?" path;read -p "Chaîne?" string;find "$path" -type f -print0 | xargs -0 grep -l "$string"'

Hors ligne

#3 Le 08/09/2016, à 14:07

Bybeu

Re : [Résolu] Recherche récursive de chaîne via .bash_aliases

Excellente, l'idée de remplacer les " par des ' l'a fait marcher et ça économise les \
Et puis y'avait aussi un pataquès avec des | au lieu des ;
C'est mega-vorace en CPU, mais ça marche !
Super Merci

[EDIT]
Je l'ai modifié comme ceci, pour pouvoir restreindre la recherche à certaines formes du nom de fichier

alias finds='read -p "Chemin?" path;read -p "Nom?" name;read -p "Chaîne?" string;find "$path" -type f -name "$name" -print0 | xargs -0 grep -li "$string"'

Dernière modification par Bybeu (Le 08/09/2016, à 14:27)

Hors ligne

#4 Le 08/09/2016, à 14:52

pingouinux

Re : [Résolu] Recherche récursive de chaîne via .bash_aliases

Ce sont les deux premiers | qui posaient problème, car la commande read ne renvoie rien sur la sortie standard.

Hors ligne