46 votes

Exclure les fichiers cachés lors d'une recherche avec Unix/Linux find ?

Quelles options dois-je utiliser avec find pour exclure les fichiers cachés ?

25voto

reddot Points 388

Il semble que le modèle de globalité de la négation ne soit pas bien connu. Vous pouvez donc utiliser :

find . -name "[!.]*"

16voto

Jarvin Points 6998

J'ai trouvé ceci aquí :

find . \( ! -regex '.*/\..*' \) -type f -name "whatever"

13voto

bluejamesbond Points 301

Cela ne répond pas à votre question, mais pour trouver des fichiers non cachés, j'aime laisser find trouver tous les fichiers, puis filtrer avec grep.

find . -type f | grep -v '/\.'

Une approche similaire à la vôtre, mais peut-être un peu plus simple.

8voto

kenorb Points 22006

Essayez ce qui suit find l'utilisation :

find . -type f -not -path '*/\.*'

Ce qui permet d'ignorer tous les fichiers cachés (fichiers et répertoires commençant par un point).

2voto

kenorb Points 22006

Si votre objectif est de find y grep , ripgrep exclut par défaut les fichiers cachés, par exemple

rg --files

--files Imprimez chaque fichier qui ferait l'objet d'une recherche sans l'effectuer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X