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 30/05/2011, à 19: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 ? hmm

Merci d'avance.

Dernière modification par roselangel (Le 31/05/2011, à 18:13)

Hors ligne

#2 Le 30/05/2011, à 19: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, à 20: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 big_smile. De plus, si je veux copier la totalité de ces fichiers, j'enchaine avec un

| cp /destination

?

Hors ligne

#4 Le 30/05/2011, à 20: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, à 21: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, à 21: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, à 21: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, à 21: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, à 18:12)

Hors ligne

#7 Le 31/05/2011, à 20:20

FRUiT

Re : Recherche inverse impossible ? find ! -name [Résolu]

De rian smile

Dernière modification par FRUiT (Le 31/05/2011, à 20: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