Maison Opération et maintenance exploitation et maintenance Linux Programmation Shell : comment utiliser la commande grep ?

Programmation Shell : comment utiliser la commande grep ?

Jun 20, 2017 am 11:12 AM
grep shell 使用 命令 编程

Avant d'apprendre les expressions régulières, vous devez d'abord le préciser et le garder à l'esprit, c'est-à-dire :

Sous Linux, les caractères génériques Il est interprété par le shell, tandis que les expressions régulières sont interprétées par la commande. Ne confondez pas les deux. Souviens-toi! ! !

Il existe généralement trois outils/commandes de traitement de texte : grep, sed et awk, qui peuvent tous les trois interpréter les expressions régulières. Ci-dessous, je vais vous présenter comment utiliser la commande grep.

1. Utilisez la commande grep pour rechercher le contenu du fichier

Les commandes grep et egrep peuvent rechercher un modèle de caractère spécifique, également appelé expressions régulières, dans le contenu d'un ou plusieurs fichiers. Un motif peut être un seul caractère, une chaîne, un mot ou une phrase.

Une expression régulière est un modèle qui décrit un ensemble de chaînes. La construction d'expressions régulières est calquée sur des expressions mathématiques, en utilisant des opérateurs pour combiner des expressions plus petites en une nouvelle expression. Une expression régulière peut être soit des littéraux de texte brut, soit des caractères spéciaux utilisés pour générer des modèles. Afin de définir davantage un modèle de recherche, la commande grep prend en charge les métacaractères d'expression régulière suivants, également appelés caractères génériques.

ps : Le langage d'expression régulière se compose de deux types de caractères de base : les caractères de texte littéraux (normaux) et les métacaractères. Les métacaractères donnent de la puissance de traitement aux expressions régulières. Les soi-disant métacaractères font référence à ces caractères spéciaux ayant une signification particulière dans les expressions régulières, qui peuvent être utilisés pour spécifier le modèle d'apparence de leurs caractères principaux (c'est-à-dire les caractères devant les métacaractères) dans l'objet cible.

c* : correspondra à 0 caractères ou plus c

. : correspondra à n'importe quel et un seul caractère (nouvelle ligne (sauf les caractères)

[xyz] : correspondra à n'importe quel caractère entre crochets

[^xyz] : correspondra à n'importe quel caractère sans les crochets Tous les caractères entre crochets

^ : verrouille le début de la ligne

$ : verrouille la fin de la ligne

Dans les expressions régulières de base, les métacaractères tels que *, +, {}, | et () ont perdu leur signification d'origine, si vous souhaitez restaurer leur signification d'origine, ils doivent être précédés d'une barre oblique inverse, telle que *. , +, etc

La commande grep est utilisée pour rechercher un modèle spécifique dans chaque fichier ou sur la sortie standard. Lors de l'utilisation de la commande grep, chaque ligne contenant un modèle de caractère spécifié sera imprimée à l'écran. Le format de syntaxe de la commande grep est le suivant :

fichier de modèle d'option grep. name

Parmi elles, les options peuvent modifier la méthode de recherche de la commande grep À l'exception de l'option -w, toutes les autres options peuvent être utilisées dans les commandes egrep et fgrep. Les options courantes pour la commande grep sont les suivantes :

-c (count) : répertorie uniquement le nombre de lignes contenant le motif

- i (ignorer) : ignorer la casse des lettres dans le modèle

-l (liste) : répertorier les noms de fichiers avec les lignes correspondantes

- n : match Liste le numéro de ligne devant la ligne

-v : Liste les lignes qui ne correspondent pas au motif (inverse)

-w : Changer l'expression La formule est recherchée comme un mot complet, et les lignes partiellement correspondantes sont ignorées

-q : mode silencieux, pas de sortie, vous devez utiliser $. ? pour déterminer si l'exécution est réussie, c'est-à-dire s'il y a un filtre vers le contenu souhaité

-A n : Si la correspondance est réussie, imprimez la ligne correspondante et le n suivant lignes ensemble

-B n : Si la correspondance est réussie, imprimez ensemble la ligne correspondante et les n lignes avant et après celle-ci

- C n : Si la correspondance est réussie, imprimez ensemble la ligne correspondante et les n lignes avant et après. Imprimez-la

ps : Si plusieurs fichiers sont recherchés, les résultats du grep La commande affiche uniquement les noms de fichiers correspondant au modèle trouvé dans le fichier ;

Si vous recherchez un seul fichier, les résultats de la commande grep afficheront chaque ligne contenant un modèle correspondant.

Ce qui précède est la méthode de base pour utiliser la commande grep. Mais parfois, une simple expression régulière ne peut pas localiser le contenu que vous souhaitez rechercher. Si vous souhaitez rechercher des lignes de données qui satisfont à la fois au mode un et au mode deux, la commande egrep peut s'avérer utile.

Le format de syntaxe de la commande egrep est le même que celui de la commande grep. Mais la commande egrep est utilisée pour rechercher un modèle spécifique dans le contenu d'un ou plusieurs fichiers à l'aide des métacaractères des expressions régulières étendues. Les métacaractères d'expression régulière étendus incluent les métacaractères d'expression régulière utilisés dans la commande grep, et ajoutent également quelques métacaractères supplémentaires, à peu près les suivants :

+ : correspond à un ou plusieurs caractères principaux

a|b : Correspond à a ou b

(RE) : Correspond à l'expression régulière entre parenthèses Expression RE

Ci-dessous, j'utiliserai quelques exemples de base pour améliorer votre compréhension de l'utilisation des commandes grep et egrep. Puisque toutes les options egrep de la commande grep peuvent être utilisées (egrep est plus puissant), par souci de commodité, j'utiliserai la commande egrep pour démontrer à tout le monde :

Exemple 1 : Afficher le fichier /etc/ passwd contient des lignes racine

Exemple 2 : Sortie /etc Toute ligne contenant bash dans /passwd doit également afficher le contenu des deux lignes au-dessus et en dessous de la ligne

Exemple 3 : Afficher combien de lignes dans /etc/passwd contiennent nologin

Exemple 4 : Affichez les lignes dans /etc/passwd qui contiennent la racine et affichez les numéros de ligne ensemble

Exemple 5 :

Nouveaux utilisateurs abominables, abominables, anomie , atomisez, écrivez des expressions régulières pour les faire correspondre

Exemple 6 : Créer de nouveaux utilisateurs Alex213sb, Wpq2222b, yH438PIG, egon666, egonFiltrer les lignes où le nom d'utilisateur est composé de lettres+chiffres+lettres

Exemple 7 : Afficher tous les noms de fichiers contenant racine dans le répertoire /etc

Exemple 8 : Filtrer tous les commentaires et toutes les lignes vides dans /etc/ssh/sshd_config

Les exemples ci-dessus ne sont qu'une petite partie. Tant que vous pratiquez avec diligence, vous le ferez. soyez très rapide. Vous pourrez maîtriser l'utilisation de la commande grep^^

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tutoriel BTCC : Comment lier et utiliser le portefeuille MetaMask sur l'échange BTCC ? Tutoriel BTCC : Comment lier et utiliser le portefeuille MetaMask sur l'échange BTCC ? Apr 26, 2024 am 09:40 AM

MetaMask (également appelé Little Fox Wallet en chinois) est un logiciel de portefeuille de cryptage gratuit et bien accueilli. Actuellement, BTCC prend en charge la liaison au portefeuille MetaMask. Après la liaison, vous pouvez utiliser le portefeuille MetaMask pour vous connecter rapidement, stocker de la valeur, acheter des pièces, etc., et vous pouvez également obtenir un bonus d'essai de 20 USDT pour la première liaison. Dans le didacticiel du portefeuille BTCCMetaMask, nous présenterons en détail comment enregistrer et utiliser MetaMask, ainsi que comment lier et utiliser le portefeuille Little Fox dans BTCC. Qu'est-ce que le portefeuille MetaMask ? Avec plus de 30 millions d’utilisateurs, MetaMask Little Fox Wallet est aujourd’hui l’un des portefeuilles de crypto-monnaie les plus populaires. Son utilisation est gratuite et peut être installée sur le réseau en tant qu'extension

Comment supprimer les widgets Win11 ? Une commande pour désinstaller les conseils sur les fonctions des widgets Windows 11 Comment supprimer les widgets Win11 ? Une commande pour désinstaller les conseils sur les fonctions des widgets Windows 11 Apr 11, 2024 pm 05:19 PM

Les widgets sont une nouvelle fonctionnalité du système Win11. Ils sont activés par défaut. Cependant, il est inévitable que certains utilisateurs n'utilisent pas beaucoup les widgets et souhaitent les désactiver car ils prennent de la place. L'éditeur ci-dessous vous apprendra comment l'utiliser et vous pourrez l'essayer. Que sont les widgets ? Les widgets sont de petites cartes qui affichent le contenu dynamique de vos applications et services préférés sur votre bureau Windows. Ils apparaissent sur le tableau des widgets, où vous pouvez découvrir, épingler, détacher, organiser, redimensionner et personnaliser des widgets pour refléter vos intérêts. Le tableau des widgets est optimisé pour afficher des widgets pertinents et du contenu personnalisé en fonction de l'utilisation. Ouvrez le panneau des widgets dans le coin gauche de la barre des tâches, où vous pouvez voir la météo en direct

Supprimez les valeurs en double du tableau PHP à l'aide d'expressions régulières Supprimez les valeurs en double du tableau PHP à l'aide d'expressions régulières Apr 26, 2024 pm 04:33 PM

Comment supprimer les valeurs en double du tableau PHP à l'aide d'expressions régulières : utilisez l'expression régulière /(.*)(.+)/i pour faire correspondre et remplacer les doublons. Parcourez les éléments du tableau et vérifiez les correspondances à l'aide de preg_match. S'il y a une correspondance, ignorez la valeur ; sinon, ajoutez-la à un nouveau tableau sans valeurs en double.

Qu'est-ce que Bitget Launchpool ? Comment utiliser Bitget Launchpool ? Qu'est-ce que Bitget Launchpool ? Comment utiliser Bitget Launchpool ? Jun 07, 2024 pm 12:06 PM

BitgetLaunchpool est une plateforme dynamique conçue pour tous les passionnés de cryptomonnaie. BitgetLaunchpool se démarque par son produit unique. Ici, vous pouvez miser vos jetons pour débloquer plus de récompenses, notamment des parachutages, des rendements élevés et une généreuse cagnotte exclusive aux premiers participants. Qu’est-ce que BitgetLaunchpool ? BitgetLaunchpool est une plate-forme de crypto-monnaie où les jetons peuvent être mis en jeu et gagnés selon des termes et conditions conviviaux. En investissant du BGB ou d'autres jetons dans Launchpool, les utilisateurs ont la possibilité de recevoir des airdrops gratuits, des gains et de participer à de généreux pools de bonus. Les revenus des actifs gagés sont calculés en T+1 heures, et les récompenses sont basées sur

La différence entre les fonctions PHP et les fonctions Shell La différence entre les fonctions PHP et les fonctions Shell Apr 24, 2024 pm 06:39 PM

Les principales différences entre les fonctions PHP et les fonctions Shell sont la sécurité (les fonctions PHP sont plus sécurisées), la fiabilité (les fonctions Shell varient selon le système d'exploitation), la fonctionnalité (les fonctions Shell sont plus puissantes mais limitées par le shell) et les performances (les fonctions PHP sont généralement plus rapide) et la complexité (les fonctions Shell sont plus complexes). Ils sont tous deux utilisés pour les opérations sur le système de fichiers, les processus et les commandes, mais les fonctions PHP sont intégrées, tandis que les fonctions Shell sont appelées via un shell externe. Par conséquent, dans les scénarios de téléchargement de fichiers sur le serveur, la fonction file_put_contents() est plus sûre, tandis que la commande wget est plus flexible.

A quoi sert la programmation et à quoi sert de l'apprendre ? A quoi sert la programmation et à quoi sert de l'apprendre ? Apr 28, 2024 pm 01:34 PM

1. La programmation peut être utilisée pour développer divers logiciels et applications, notamment des sites Web, des applications mobiles, des jeux et des outils d'analyse de données. Ses domaines d'application sont très larges, couvrant presque tous les secteurs, notamment la recherche scientifique, la santé, la finance, l'éducation, le divertissement, etc. 2. L'apprentissage de la programmation peut nous aider à améliorer nos compétences en résolution de problèmes et nos capacités de réflexion logique. Lors de la programmation, nous devons analyser et comprendre les problèmes, trouver des solutions et les traduire en code. Cette façon de penser peut cultiver nos capacités analytiques et abstraites et améliorer notre capacité à résoudre des problèmes pratiques.

Collection d'énigmes de programmation C++ : stimule la réflexion et améliore les compétences en programmation Collection d'énigmes de programmation C++ : stimule la réflexion et améliore les compétences en programmation Jun 01, 2024 pm 10:26 PM

Les énigmes de programmation C++ couvrent les concepts d'algorithme et de structure de données tels que la séquence de Fibonacci, la factorielle, la distance de Hamming, les valeurs maximales et minimales des tableaux, etc. En résolvant ces énigmes, vous pouvez consolider vos connaissances en C++ et améliorer la compréhension des algorithmes et vos compétences en programmation.

Résolution de problèmes avec Python : débloquez des solutions puissantes en tant que codeur débutant Résolution de problèmes avec Python : débloquez des solutions puissantes en tant que codeur débutant Oct 11, 2024 pm 08:58 PM

Python permet aux débutants de résoudre des problèmes. Sa syntaxe conviviale, sa bibliothèque complète et ses fonctionnalités telles que les variables, les instructions conditionnelles et les boucles permettent un développement de code efficace. De la gestion des données au contrôle du flux du programme et à l'exécution de tâches répétitives, Python fournit

See all articles