Je comprends que le Wildcard Il y a deux cas d'utilisation que je pense être utiles, mais je ne sais pas comment faire correctement: p>
Comment pouvez-vous Glob pour ... "Tous les fichiers du dossier actuel, y compris les fichiers cachés, mais non compris Comment Glob pour ... "Tous les fichiers cachés (et uniquement les fichiers cachés) dans le dossier actuel, mais non compris * code> (par lui-même) se développera de manière à ce que cela signifie "tous les fichiers non cachés dans le dossier actuel" avec des fichiers cachés étant ceux préfixés par une période. p>
. code> ou
.. code>" / p> li>
. code> ou
.. code> .. "? P> LI>
ol>
6 Réponses :
Le Bash Cookbook suggère une solution à votre 2e exigence.
.[!.]*
touchez ..bla; echo {.,} [!.] * | grep bla code> échoue.
pour développer sur Réponse des paves et répondez à la deuxième partie de votre question, tous les fichiers, sauf en fonction de votre Cas d'utilisation exacte Il peut être préférable de définir l'option . code> et
.. code> pourrait être spécifié comme ceci:
dotglob code> shell, de sorte que Bash inclut des dotfiles dans des extensions de
* code> par défaut: p>
{..? * ,. [^.] *, [^.] *} code> fonctionne indépendamment de
dotglob code> réglage et évite les noms de fichiers manquants en commençant par deux points, que tout le monde ici semble avoir manqué.
@Ephement: Cela me donne un match parasite .. * code> quand il n'y a pas de noms de fichiers commençant par deux points.
Pour répondre à votre premier cas:
echo {.*,}[^.]*
touchez ..bla; echo {.,} [^.] * | grep bla code> échoue.
Par "Tous les fichiers" et "Tous les fichiers cachés" voulez-vous dire uniquement des fichiers - uniquement ou voulez-vous dire des fichiers et des répertoires? Globbing fonctionne sur des noms indépendamment d'un fichier ou d'un répertoire. Les autres personnes donnent de bonnes réponses pour utiliser Globbing pour trouver des noms masqués VS non cachés, mais vous voudrez peut-être passer à la commande code> code> comme une alternative plus facile pouvant distinguer les types.
à Recherchez "Tous les fichiers du dossier actuel, y compris des fichiers cachés, mais non compris. ou ..": p> pour trouver "Tous les fichiers et répertoires du dossier actuel, y compris Fichiers cachés, mais non compris. ou .. ": p> pour trouver" tous les fichiers cachés (et uniquement les fichiers cachés) dans le dossier actuel, mais non compris. Ou. . ": p> pour trouver" tous les fichiers et répertoires cachés (et uniquement des fichiers et des répertoires cachés) dans le dossier actuel, mais non compris. ":": P> find . -maxdepth 1 -type f
Combinaison de réponses STH et PAVIUM
# dot files but avoiding . and .. .[!.]* # all files but avoiding . and .. {.[!.]*,*}
Donc, même si cela est vieux - sans utiliser Shopt, cela ne semble pas avoir été répondu complètement. Mais, en développant ce qui a été donné comme des réponses jusqu'à présent, ces travaux pour moi: P>
1: p>
2: p>
{* ,. [!.] *, ..? *} code> p> p>
{. [!.] *, ..? *} code> p>