Je me suis toujours trouvé confondu avec l'utilisation de ces deux caractères génériques dans UNIX. Je comprends astérisque peut être utilisé uniquement comme un quantificateur dans une expression rationnelle, mais UNIX permet *
dans certains cas comme la commande ls
alors que grep
il devrait être utilisé uniquement comme un quantificateur. Y a-t-il une règle qui me guidera laquelle utiliser?astérisque (*) et point-astérisque (. *) Dans l'expression régulière unix
Répondre
Vous parlez de deux types distincts de modèles dans UNIX, le glob (génériques) et l'expression régulière .
Les globes sont généralement utilisés lors de l'appariement de noms de fichiers. Votre shell fait expansions génériques automatiquement sur des arguments de commande, qui est comment vous pouvez écrire
ls *foo*
à la liste tous les fichiers contenant la chaîne foo
. Globs sont très simples (en ignorant extglob
): la syntaxe prend généralement uniquement en charge *
(tous les caractères) et ?
(un caractère). En raison de l'expansion automatique du shell, ceux-ci peuvent être utilisés n'importe où et doivent être explicitement supprimés pour éviter toute correspondance indésirable (par exemple, écrire grep '.*foo.*'
pour éviter d'étendre le *
dans le modèle). D'autre part, nous avons des expressions régulières, qui sont utilisées pour faire correspondre le texte. Typiquement, ceux-ci sont utilisés avec des utilitaires spécifiques tels que grep
, sed
et perl
qui comprennent ces modèles, bien que certains shells aient des contextes qui prennent regex (par exemple ${x/pat/sub}
de Bash). La syntaxe d'expression régulière est beaucoup plus puissante, ce qui la rend idéale pour regarder des rames de texte pour des motifs spécifiques.
Cela l'explique clairement! Merci d'avoir pris le temps de corriger cette réponse détaillée. – toddlermenot
- 1. Expression régulière Script shell Unix
- 2. Expression régulière étendue sous UNIX
- 3. variable locale et astérisque
- 4. Astérisque et raccrochage automatique
- 5. Remplacer un astérisque (*) en utilisant l'expression régulière Perl
- 6. Expression régulière pour détecter une ligne commençant par un astérisque
- 7. Lecture dans meetme (astérisque)
- 8. erreur de syntaxe avec une expression régulière dans unix
- 9. Une décision à propos de "ou" et "astérisque"
- 10. Comment échapper astérisque dans me.regexp
- 11. Classe de caractères négatifs Regex et point-astérisque
- 12. l'installation astérisque
- 13. Astérisque dans le profilage Haskell?
- 14. Expression régulière pour les fichiers cachés sous unix
- 15. Sphinx (via SphinxQL) correspond sans astérisque, mais pas avec astérisque
- 16. Comment remplacer un astérisque dans Javascript en utilisant replace()?
- 17. astérisque: ajouter une application
- 18. Méthode Python/arguments de fonction commençant par un astérisque et un double astérisque
- 19. Disposition verticale avec astérisque
- 20. ChanSpy + PlayBack + MutingChannel astérisque
- 21. astérisque sur vmware
- 22. astérisque extensions.conf nombre aléatoire
- 23. astérisque: command not found
- 24. Java String arguments astérisque
- 25. Pour boucle astérisque impression
- 26. astérisque phpagi retourne occupé
- 27. Astérisque cliquez pour appeler
- 28. Masking number_field_tag avec astérisque
- 29. Sélecteurs génériques Unix? (Asterisks)
- 30. Sonar: Utilisation d'un astérisque dans sonar.sources
Vous êtes confus entre 'regex' et' glob'. –