In particolare su git (gitignore, gitattributes e comandi che accettano nomi di file):se il pattern non contiene barre, *
i caratteri jolly corrisponderanno in profondità. Se contiene una barra, git chiamerà fnmatch con FNM_PATHNAME
flag e i caratteri jolly semplici non corrisponderanno alle barre. **
la corrispondenza profonda non è supportata. Forse questo tipo di corrispondenza profonda potrebbe essere supportato più ampiamente con un nuovo FNM_STARSTAR
flag e un'implementazione in glibc, gnulib e altri posti.
Se vuoi agire su tutti i file restituiti da find, anziché limitarti a elencarli, puoi reindirizzarli a xargs:
find <directory> -type f | xargs ls
Ma questo è solo per i comandi che non hanno un flag ricorsivo.
In Bash 4, con shopt -s globstar
e zsh puoi usare **/*
che includerà tutto tranne i file nascosti. Puoi fare shopt -s dotglob
in Bash 4 o setopt dotglob
in zsh per includere i file nascosti.
In ksh, set -o globstar
lo abilita. Non penso che ci sia un modo per includere i file punto in modo implicito, ma penso che **/{.[^.],}*
funziona.