GNU/Linux >> Tutoriels Linux >  >> Linux

Comment boucler sur des répertoires sous Linux?

cd /tmp
find . -maxdepth 1 -mindepth 1 -type d -printf '%f\n'

Petite explication :

  • find trouve les fichiers (évidemment)

  • . est le répertoire courant, qui après le cd est /tmp (IMHO c'est plus flexible que d'avoir /tmp directement dans le find commande. Vous n'avez qu'un seul endroit, le cd , à changer, si vous voulez que plus d'actions aient lieu dans ce dossier)

  • -maxdepth 1 et -mindepth 1 assurez-vous que find ne regarde que dans le répertoire courant et n'inclut pas . lui-même dans le résultat

  • -type d recherche uniquement les répertoires

  • -printf '%f\n imprime uniquement le nom du dossier trouvé (plus une nouvelle ligne) pour chaque hit.

Et voilà !


Toutes les réponses jusqu'à présent utilisent find , alors en voici un avec juste la coque. Pas besoin d'outils externes dans votre cas :

for dir in /tmp/*/     # list directories in the form "/tmp/dirname/"
do
    dir=${dir%*/}      # remove the trailing "/"
    echo "${dir##*/}"    # print everything after the final "/"
done

Linux
  1. Comment rechercher et supprimer des répertoires de manière récursive sous Linux

  2. Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

  3. Comment trouver l'adresse IP de la passerelle par défaut sous Linux

  4. Comment différencier les répertoires sur ssh

  5. Comment trouver les répertoires mis à jour le dernier jour sous Linux ?

Comment naviguer plus rapidement dans les répertoires sous Linux

Comment trouver une adresse IP sous Linux

Comment trouver le nom d'hôte sous Linux

Comment rechercher et supprimer des répertoires vides sous Linux

Comment trouver la dernière connexion sous Linux

Comment trouver une adresse IP sous Linux