Est-il possible d'utiliser la find
commande d'une manière qui ne sera pas récursive dans les sous-répertoires? Par exemple,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
Et le résultat de quelque chose comme find DirsRoot --donotrecuourse -type f
sera seulement File1, File2
?
-maxdepth 1
?1
est probablement ce qu'il veut.-maxdepth 0
ne montre aucun fichier mais-maxdepth 1
fonctionne comme prévu, avec des fichiers cachés également affichés.*
enfind DirsRoot/* -maxdepth 0 -type f
. Si vous omettez cela, il ne montrera aucun fichier.Je crois que vous cherchez
-maxdepth 1
.la source
-maxdepth 1
?Si vous recherchez une solution compatible POSIX:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth n'est pas une option compatible POSIX.
la source
find DirsRoot/* -type f -prune
?-prune
btw) La réponse est non, elle ne le peut pas. Pour bien comprendre POURQUOI cela ne peut pas être simplifié, émettez simplement laset -x
commande avant d'émettre lefind DirsRoot/* -type f -o -prune
et vous le verrez immédiatement vous-même. La cause première est les limites de l'expansion de shell de l'DirsRoot/*
expression.find . -name . -o -prune