GNU/Linux >> Tutoriels Linux >  >> Linux

Faites correspondre tous les fichiers sous tous les répertoires imbriqués avec shell globbing

Spécifiquement à propos de git (gitignore, gitattributes et commandes qui prennent des noms de fichiers) :si le modèle ne contient pas de barre oblique, * les jokers correspondront à deep. S'il contient une barre oblique, git appellera fnmatch avec le FNM_PATHNAME flag, et les caractères génériques simples ne correspondent pas aux barres obliques. ** pour correspondre en profondeur n'est pas pris en charge. Peut-être que ce type de correspondance approfondie pourrait être plus largement pris en charge avec un nouveau FNM_STARSTAR flag, et une implémentation dans glibc, gnulib et d'autres endroits.


Si vous souhaitez agir sur tous les fichiers renvoyés par find, plutôt que de simplement les lister, vous pouvez les rediriger vers xargs :

find <directory> -type f | xargs ls

Mais ce n'est que pour les commandes qui n'ont pas d'indicateur récursif.


Dans Bash 4, avec shopt -s globstar , et zsh vous pouvez utiliser **/* qui inclura tout sauf les fichiers cachés. Vous pouvez faire shopt -s dotglob dans Bash 4 ou setopt dotglob dans zsh pour que les fichiers cachés soient inclus.

En ksh, set -o globstar le permet. Je ne pense pas qu'il existe un moyen d'inclure implicitement des fichiers de points, mais je pense que **/{.[^.],}* fonctionne.


Linux
  1. Comment compresser des fichiers et des répertoires sous Linux (avec exemples)

  2. Comment créer rapidement des fichiers dans des répertoires imbriqués sous Linux

  3. Supprimer tous les fichiers/répertoires sauf un fichier ?

  4. Mettre en minuscules tous les répertoires sous un répertoire ?

  5. Comment remplacer un caractère par un autre dans tous les noms de fichiers des répertoires actuels ?

Comment exclure des fichiers et des répertoires avec Rsync

Principes de base de Linux :comment télécharger des fichiers sur le shell avec Wget

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

Synchronisation des fichiers et répertoires Linux avec rsync

Comment effectuer une recherche Grep sur tous les fichiers et dans tous les répertoires

Répertorier tous les fichiers d'images graphiques avec rechercher ?