GNU/Linux >> Tutoriels Linux >  >> Linux

Limiter Posix Find à une profondeur spécifique ?

J'ai remarqué récemment que les spécifications POSIX pour find n'incluez pas le -maxdepth primaire.

Pour ceux qui ne le connaissent pas, le but de -maxdepth le principal est de restreindre le nombre de niveaux de profondeur find va descendre. -maxdepth 0 résultats dans seulement arguments de ligne de commande en cours de traitement ; -maxdepth 1 traiterait uniquement les résultats directement dans les arguments de la ligne de commande, etc.

Comment puis-je obtenir le comportement équivalent au non-POSIX -maxdepth primaire en utilisant uniquement les options et outils spécifiés par POSIX ?

(Remarque :Bien sûr, je peux obtenir l'équivalent de -maxdepth 0 en utilisant simplement -prune comme premier opérande, mais cela ne s'étend pas à d'autres profondeurs.)

Réponse acceptée :

Vous pouvez utiliser -path pour correspondre à une profondeur donnée et y tailler. Par exemple

find . -path '*/*/*' -prune -o -type d -print

serait maxdepth 1, comme * correspond au . , */* correspond à ./dir1 , et */*/* correspond à ./dir1/dir2 qui est taillé. Si vous utilisez un répertoire de départ absolu, vous devez ajouter un / de tête au -path aussi.


Linux
  1. Limiter la sortie de recherche et éviter le signal 13 ?

  2. Comment trouver tous les fichiers appartenant à un utilisateur spécifique sous Unix/Linux ?

  3. Comment rechercher un texte spécifique à l'aide de GREP sous Linux

  4. Comment limiter la profondeur de la liste de fichiers récursifs ?

  5. Recherche de fichiers NON détenus par un utilisateur spécifique

Comment trouver une chaîne ou un mot spécifique dans les fichiers et les répertoires

Comment trouver le package qui fournit un fichier spécifique sous Linux

Trouver quand une version spécifique du noyau Linux est démarrée pour la dernière fois

Comment limiter la profondeur de «l'arborescence» pour la liste de fichiers récursifs

Comment trouver la source d'un signal POSIX

Trouver l'interface pour l'itinéraire vers un hôte spécifique