Aller au contenu

Find

La commande find sous linux permet, comme son nom l'indique, de chercher et trouver des fichiers et des dossiers.

Utilisation de la commande find par type de fichier

find . -type f -iname "*.mp3"
  • Le "." après find: permet de rechercher dans le répertoire courant
  • -type f: permet de rechercher seulement les fichiers
  • -iname: permet de spécifier un nom peut importe la casse. (-name fonctionne mais est sensible à la casse)

Utilisation de la commande find par nom de fichier

find . -type f -iname "*log*"

Si nous voulons rechercher une partie d'un nom de fichier peut importe la casse, cette syntaxe devrait être adaptée.

  • Le "." après find: permet de rechercher dans le répertoire courant
  • -type f: permet de rechercher seulement les fichiers
  • -iname: permet de spécifier un nom peut importe la casse. (-name fonctionne mais est sensible à la casse)

Trouver et copier des fichiers à un endroit donné

find . -type f -name "*.mp3" -exec cp {} /tmp/MusicFiles \;
  • Le "." après find: permet de rechercher dans le répertoire courant
  • -type f: permet de rechercher seulement les fichiers
  • -iname: permet de spécifier un nom peut importe la casse. (-name fonctionne mais est sensible à la casse)
  • -exec cp: permet d'exécuter une commande après find, ici cp
  • {}: est le contenu de la commande find, c'est à dire les fichiers .mp3 trouvés dans notre exemple.
  • \;: permet de délimiter et terminée la commande

Copié de ce site: https://alvinalexander.com/linux/find-command-find-and-copy-files-to-directory/

Trouver et renommer avec Rename

find . -name "* *.pdf" -exec rename -n 's/ /-/g' {} \;
- Les deux "* *" (astérisques) séparés par un espace, permet de trouver des fichiers contenant des espaces