skyangel
bonjour,
j'aimerais savoir comment lister des fichiers ayent un caractere specifiques (* par exemple)
merci
valhalla
Salut
En utilisant la base de donnée (mise a jour toutes les 24 heures par defaut)
locate chaineArechercher
Exemple:
locate dev -> donne tous les fichier possedant la chaine dev
sinon recherche classique par find:
find / -name "*chaine*"
Exemple: find -name "*dev*"
Sinon le cas du caractere * est particulier puisque sous unix il a une signification bien particuliere (c'est un "joker"). Il faudra donc penser a le proteger avec un :
locate "*"
ou:
find . -name "***"
plus d'infos:
man locate
man find
A+
skyangel
merci bien pour ces commandes
skyangel
arf
ca marche bien
mais j'aurais aime pouvoir concatener les caracteres!
par exemple j'ai f*le f?le f?l*
comment je fait pour avoir tous les noms de fichiers ayantsoit * soit ? soit les deux
j'ai essaye find -name "**?*"
find -name "**?*"
mais bon ca concatene pas j'ai fait aussi find -name "***" "*?*"
valhalla
Salut,
Pour les recherches plus poussées de ce type, je te conseille les expressions regulieres.
Tu peux les utiliser de cette maniere la:
find path -regex motif
Le motif est donc une expression reguliere qui va decrire ce que tu recherches. C'est un outil tres puissant qui te permet vraiment de decrire exactement ce que tu veux trouver comme chaine. Tu trouveras de l'aide un peu partout sur les expressions regulieres.
Par exemple, si je ne me trompe pas, pour caractere * ou ? ca sera du genre:
find . -regex ".*[*|?].*"
A+