#1 Le 30/05/2011, à 18:35
- roselangel
Recherche inverse impossible ? find ! -name [Résolu]
Bonjour à tous.
Etant nouveau sur Linux, je me permets de glisser une question de n00b. Alors voilà, j'aimerais rechercher dans mon home tous les fichiers n'étant PAS des fichiers cachés.
Je pensais qu'une commande find ~ ! -name ".*" -exec truc {} ;\ suffirait, mais ça n'est visiblement pas le cas, puisque
-find ~ ! -name ".*" -print m'affiche aussi bien les dossiers normaux que les dossiers cachés. Mes questions :
1°) Est-ce que c'est la seule manière de procéder pour faire ce que je veux faire ?
2°) Comment je m'en dépatouille ?
Merci d'avance.
Dernière modification par roselangel (Le 31/05/2011, à 17:13)
Hors ligne
#2 Le 30/05/2011, à 18:53
- FRUiT
Re : Recherche inverse impossible ? find ! -name [Résolu]
( shopt -u dotglob ; shopt -s globstar ; echo ** )
Ca irait pas ça ?
Sinon, si des fichiers non cachés sont dans des dossiers cachés, faut-il les afficher ?
Si oui tu peux faire :
find ~ -name "[^.]*"
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#3 Le 30/05/2011, à 19:11
- roselangel
Re : Recherche inverse impossible ? find ! -name [Résolu]
J'avoue que je n'ai pas tout suivi...
( shopt -u dotglob ; shopt -s globstar ; echo ** )
a l'air de fonctionner, mais je ne comprends absolument pas comment ça marche . De plus, si je veux copier la totalité de ces fichiers, j'enchaine avec un
| cp /destination
?
Hors ligne
#4 Le 30/05/2011, à 19:40
- FRUiT
Re : Recherche inverse impossible ? find ! -name [Résolu]
Euh non vaudrait mieux faire avec un for :
#!/bin/bash
# shopt définit des options de comportement du shell courant
# -s = SET, sert à activer une option
# -u = UNSET
# Le globbing ne prend pas en compte les fichiers cachés
shopt -u dotglob
# Activation du globe **, qui recherche tous les fichiers y compris dans les sous répertoires
shopt -s globstar
for FILE in "$HOME"/**; do
cp "$FILE" "$DESTINATION"
# etc...
done
Par contre là j'ai pas vérifié mais ça ne prendra peut-être pas les fichiers normaux dans d'éventuels dossiers cachés. A étudier avant de se lancer, donc.
Dernière modification par FRUiT (Le 30/05/2011, à 20:03)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#5 Le 30/05/2011, à 20:02
- FRUiT
Re : Recherche inverse impossible ? find ! -name [Résolu]
A la réflexion, pas besoin de for en fait.
#!/bin/bash
shopt -u dotglob
shopt -s globstar
cp "$HOME"/** "$DESTINATION"
En one-liner :
( shopt -u dotglob ; shopt -s globstar ; cp "$HOME"/** "$DESTINATION" )
Dernière modification par FRUiT (Le 30/05/2011, à 20:07)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#6 Le 30/05/2011, à 20:24
- roselangel
Re : Recherche inverse impossible ? find ! -name [Résolu]
Aaaaah oui ! J'ai compris :D
Je teste ça dès que possible et j'édite pour ajouter j'espère un [résolu].
Merci !
EDIT : Ca fonctionne impec', encore merci !
Dernière modification par roselangel (Le 31/05/2011, à 17:12)
Hors ligne
#7 Le 31/05/2011, à 19:20
- FRUiT
Re : Recherche inverse impossible ? find ! -name [Résolu]
De rian
Dernière modification par FRUiT (Le 31/05/2011, à 19:20)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne