Find et espaces

Résolu
dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je ne trouve plus le post qui parle de la manière de touver les fichiers sans fidn

en effet
for i in `find / |grep truc`; do cat $i |grep blahblah ; done
,ne marche pas quand on a un espace
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Suffit de mettre la variable entre quotes doubles :
for i in `find / |grep truc`; do cat "$i" |grep blahblah ; done 
et puis :
find / -name '*truc*'
serait peut être plus approprié, non ? et tant qu'on y est :
find / -name '*truc*' -exec grep blahblah {} \;
serait surement mieux ;-))
1
dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   135
 
merci
0
dindoun Messages postés 1028 Date d'inscription   Statut Membre Dernière intervention   135
 
j ai trouvé" un truc super c'est le séparateur IFS :

IFS=$'\n' ; for i in a*; do ls $i ; done ; unset IFS

remarque \n signifie passage à la ligne
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
0