🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  1. Recherches
  2. Recherches

find

PrécédentRecherchesSuivantExercice avec find

Dernière mise à jour il y a 2 ans

L'outil find est très puissant dans Unix, et nous permet de chercher des fichiers ou répertoires :

  • par son nom

  • par son contenu

  • ... et effectuer des actions sur les résultats.

Le syntaxe simple de find est le suivant :

find [repertoire de recherche] –[type de recherche] [critères de recherche]

Par exemple, pour chercher tous les fichiers (à partir du répertoire actuel) avec le nom qui commence par utils :

find . -name "utils.*"

# . = commencer dans le répertoire actuel
# -name = on va chercher dans le nom du fichier
# "utils.*" il faut commencer par le mot "utils." avec n'importe quelle extension (representé par l'asterisk *)

Pour trouver les répertoires avec "util" dans le nom :

find . -name "*util*" -type d

Rappelez, vous pouvez apprendre plus de paramètres avec man find. Ou bien chercher en-ligne, par exemple,

Effectuer une action sur les fichiers trouvés

find permet non-seulement de chercher des fichiers, mais aussi d’en faire quelque chose :

find . -name [critères] -exec [commande à executer] \;

## Attention ! la commande doit terminer par \;

Exemple, lister les répertoires, et afficher leur nom avec un morceau de texte personnalisé devant :

hetic@eabaf4e7983c:~$ find . -name "*util*" -type d -exec echo "Voici un fichier : {}" \;
Voici un fichier : ./node-main/lib/internal/util
Voici un fichier : ./node-main/lib/util

Ici, find exécute la commande echo pour chaque répertoire trouvé, et affiche le resultat Voici un fichier : {}

Les accolades {} sont remplacés par chaque nom de répertoire.

Bien sur il serait plus intéressant d'utiliser des commandes dans exec qui sont plus utiles, comme, change le nom du fichier, le supprimer, le modifier etc.

🔍
ce résumé