Normalement, je ne dérange pas tout en faisant des tâches sysadmin sur la console, mais à partir de scripts je ne cherche des fichiers texte avec „Find”, puis grep chacun: J`ai l`habitude de ne pas laisser grep faire la récursivité elle-même. Il y a généralement quelques répertoires que vous voulez ignorer (. git,. svn…) J`ai vu que se passe plusieurs fois, avec des liens cassés (symlinks qui pointent vers des fichiers qui n`existent pas), grep tente de rechercher sur le fichier cible, qui n`existe pas (d`où le message d`erreur correct et précis). Il est habituel de placer l`expression régulière dans des guillemets simples, pour empêcher le shell (bash ou autres) d`essayer d`interpréter et de développer l`expression avant de lancer le processus grep. Par exemple, si une paire de back-Ticks dans la RegExp n`est pas citée, il en résulterait le texte entre les ticks en cours d`exécution comme un sous-processus bash-et si cela se trouve être une commande valide, le texte retourné par elle prend la place de l`expression régulière dans la commande- paramètres de ligne donnés à grep! Pas du tout ce que nous voulons. S`il vous plaît expliquer cette commande „grep-a-null-Data U-boot u-boot. img” qu`est-ce que U-Boot stand pour ici, est-ce un nom de fichier, un alias? u-boot. img est un fichier que je peux le voir. Merci pour ce tutoriel. Il a effacé beaucoup de doutes de base sur grep de mon cerveau. Recherche récursivement à travers les sous-dossiers (grep-r ): Si vous êtes grepper par un dépôt Git, je vous recommande d`utiliser Git grep. Vous n`avez pas besoin de passer-R ou le chemin.

GNU grep a deux ensembles de fonctionnalités d`expression régulière: Basic et Extended. Dans les expressions régulières de base, les méta-caractères?, +, {, |, (et) perdent leur signification particulière (dont les utilisations sont décrites plus loin dans cet article). Comme mentionné ci-dessous, pour passer à l`aide d`expressions régulières étendues, vous devez ajouter l`option-E à la commande grep. Imprimer des lignes de contexte supplémentaires (de fin) après la correspondance (grep-A ): imprimer le nom de fichier pour chaque correspondance (grep-h filename): lorsque le flux que grep est demandé à la recherche est passé à son entrée standard via un canal à partir d`une commande précédente dans la chaîne, grep-h affiche ( entrée standard) comme nom de fichier. Exécuter en mode „silencieux” (grep-q): lorsque vous exécutez avec cet indicateur, grep n`écrit rien à la sortie standard, mais définit sa valeur de retour (également connu comme état de sortie) pour refléter si une correspondance a été trouvée ou non. Cette option est principalement utilisée dans les scripts qui doivent vérifier si un fichier donné contient une correspondance particulière. Un état de retour de 0 (zéro) indique qu`une correspondance a été trouvée; 1 indique qu`aucune correspondance n`a été trouvée. Le script global imprime les lignes qui satisfont l`une ou l`autre des expressions de commande ci-dessus. Par conséquent, les lignes „This” et „pour effectuer quelques expressions régulières” satisfont la première expression de commande, tandis que les lignes „123 456” „ABCD” satisfont la deuxième expression de commande. Ce type de recherche renvoie uniquement les lignes où la chaîne recherchée est un mot entier et ne fait pas partie d`un mot plus grand. Des erreurs comme celles-ci sont généralement envoyées au flux „erreur standard”, que vous pouvez diriger vers un fichier ou simplement faire disparaître sur la plupart des commandes: […] 1. grep en profondeur 2.

Open source pour U 3. GNU grep […] Maintenant, passons à quelques exemples pratiques de l`utilisation de grep.

2010 © Copyright Fundacja Projekt Kultura