web-dev-qa-db-fra.com

Rechercher tous les fichiers d'un répertoire qui ne sont pas des répertoires eux-mêmes

Je cherche un moyen de lister tous les fichiers dans un répertoire à l'exclusion des répertoires eux-mêmes, et les fichiers dans ces sous-répertoires.

Donc si j'ai:

./test.log
./test2.log
./directory
./directory/file2

Je veux une commande qui renvoie: ./test.log ./test2.log et rien d'autre.

36
Alex

Si tu veux test.log, test2.log, et file2 puis:

find . -type f

Si tu ne veux pas file2 puis:

find . -maxdepth 1 -type f
62
John Kugelman

Si vous avez besoin que les liens symboliques, les canaux, les fichiers de périphérique et d'autres éléments spécifiques du système de fichiers soient également répertoriés, vous devez utiliser:

find -maxdepth 1 -not -type d

Cela listera tout sauf les répertoires.

13
anton_rh

l'utilisation de find est simple:

find . -maxdepth 1 -type f
3
dfa
find . -type f
0
amrox
find /some/directory -type f
0
Eric M
$ find . -type f -print

Chaque fichier sera sur sa propre ligne. Vous devez être dans le répertoire que vous souhaitez rechercher.

0
Rob Jones