Maison Opération et maintenance exploitation et maintenance Linux Une brève introduction à Linux grep et aux expressions régulières

Une brève introduction à Linux grep et aux expressions régulières

Sep 21, 2017 am 11:47 AM
grep linux 表达式

grep est un puissant outil de recherche de texte qui utilise des expressions régulières pour rechercher du texte et imprimer les lignes correspondantes. Permettez-moi de partager avec vous mes connaissances sur Linux grep et les expressions régulières à travers cet article. Les amis intéressés devraient y jeter un œil ensemble

Introduction à grep

<.> grep est un puissant outil de recherche de texte qui utilise des expressions régulières pour rechercher du texte et imprimer les lignes correspondantes. Il existe généralement trois versions de grep : grep, egrep (équivalent à grep -E) et fgrep. egrep est un grep étendu et fgrep est un grep rapide (chaîne fixe pour rechercher du texte, ne prend pas en charge les références d'expressions régulières mais la requête est extrêmement rapide). grep est l'un des trois mousquetaires du traitement de texte Linux.

Comment utiliser grep

Comment utiliser :


grep [OPTIONS] PATTERN [FILE...]
Copier après la connexion


grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
Copier après la connexion
Options communes :


--color=auto : colorer le texte correspondant et le mettre en surbrillance

-i : ignorer la casse des caractères ;

-o : afficher uniquement les chaînes correspondantes

-v : afficher les lignes qui ne peuvent pas correspondre au modèle

-E : prendre en charge l'utilisation d'expressions régulières étendues

 -q : Mode silencieux, c'est-à-dire qu'aucune information n'est émise

 -A # : Afficher les lignes correspondant au motif et les # lignes qui le suivent

-B # : Afficher les lignes correspondant au motif et les # lignes avant et après

-C # : Afficher les lignes correspondant au motif et les # lignes avant et après

Remarque : les guillemets doubles sont requis lorsque en utilisant grep matching Quoted (les guillemets simples sont des guillemets forts) pour empêcher le système de les confondre avec des paramètres ou des commandes spéciales et de signaler une erreur. - i : ignore la casse des caractères

-o : affiche uniquement la chaîne correspondante elle-même

-v : affiche les lignes qui ne correspondent pas au modèle

-q : mode silencieux, c'est-à-dire qu'aucune information n'est sortie -A # : Afficher les lignes correspondant au motif et les # lignes qui le suivent -B # : Afficher les lignes correspondant au motif et les # lignes qui le précèdent -C # : Afficher le lignes correspondant au motif et leurs # lignes # lignes avant et après -G : prend en charge les expressions régulières de base

métacaractères d'expression régulière grep

egrep [OPTIONS] PATTERN [FILE...]
grep -E [OPTIONS] PATTERN [FILE...]
Copier après la connexion

'^' : ancre '$' : Ancre la fin de la ligne

'.' : Correspond à n'importe quel caractère

'*' : Correspond à zéro ou plusieurs caractères précédents Caractères

'?' : Faites correspondre le caractère qui le précède 0 ou 1 fois

'+' : Faites correspondre le caractère qui le précède 1 ou plusieurs fois

'{m}' : Faire correspondre le caractère qui le précède m fois (pour les caractères d'échappement) '{m,n}' : faire correspondre le caractère qui le précède au moins m fois et au plus n fois

'[]' : correspond à un caractère dans la plage spécifiée | '[^]' correspond à n'importe quel caractère en dehors de la plage spécifiée

'<' ou 'b' : ancre le début du mot, '>' b' : fin du mot d'ancrage (disponible : correspond à des mots complets)

'()' : traite plusieurs caractères dans leur ensemble

Backreference : quote Les caractères correspondant au motif dans les parenthèses de regroupement précédentes

Le contenu correspondant au motif dans les parenthèses de regroupement peut être automatiquement enregistré dans des variables internes par le moteur d'expression régulière :

1 : Modèle En partant de la gauche, le contenu correspond par le motif entre la première parenthèse gauche et la parenthèse droite correspondante

2 : Le motif commence par la gauche, la deuxième parenthèse gauche et la parenthèse droite correspondante Le contenu correspond au motif...

Les expressions régulières étendues sont légèrement différentes des expressions régulières :

'[]' : correspond toujours à n'importe quel caractère dans la plage spécifiée ; mais il existe de nombreuses méthodes de correspondance spéciales.

[: chiffre:] correspond à n'importe quel chiffre unique

[: inférieur:] correspond à toute lettre minuscule unique [: Upper:] correspond à toute lettre majuscule

[: Alpha :] correspond à n'importe quelle lettre

 [:alnum:] correspond à n'importe quelle lettre ou chiffre

 [:punct:] correspond à n'importe quel symbole

[:space:] correspond un seul espace

Certains endroits annulent l'utilisation des caractères d'échappement :

'?' : correspond au caractère précédent 0 ou 1 fois

'+' : correspond au caractère ; avant 1 ou plusieurs fois ;

'{m}' : correspond au caractère qui le précède m fois (pour les caractères d'échappement)

'{m,n}' : correspond au caractère précédent à au moins m fois et au plus n fois

 () : regroupez un ou plusieurs caractères ensemble et traitez-les dans leur ensemble, et les références arrière sont utilisées comme d'habitude.

 |' : ou (Remarque : 'C|cat' signifie C et chat, '(C|c)at est Chat et chat')

Questions pratiques :

1. Répertoriez les noms d'utilisateur de tous les utilisateurs connectés sur le système actuel Remarque : Si le même utilisateur se connecte plusieurs fois, il ne sera affiché qu'une seule fois

<. 🎜>

[root@localhost ~]# who | cut -d&#39; &#39; -f1|uniq
root
Copier après la connexion

  2、取出最后登录到当前系统的用户的相关信息


[root@localhost ~]# id `last | head -1 | cut -d&#39; &#39; -f1`
uid=0(root) gid=0(root) groups=0(root)
Copier après la connexion

  3.取出当前系统上被用户当做其默认shell最多的那个shell


[root@localhost ~]# cut -d&#39;:&#39; -f7 /etc/passwd|uniq -c|sort -n|tail -1|cut -d&#39; &#39; -f7
/sbin/nologin
Copier après la connexion

  4.将/etc/passd中的第三个字段设置最大的后10个用户的信息全部改为大写保存至/tmp/maxuser.txt文件中


[root@localhost ~]# sort -t&#39;:&#39; -k3 -n /etc/passwd|tail -10|tr &#39;a-z&#39; &#39;A-Z&#39; >/tmp/maxusers.txt
[root@localhost ~]# cat /tmp/maxusers.txt 
NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
NGINX:X:996:994:NGINX WEB SERVER:/VAR/LIB/NGINX:/SBIN/NOLOGIN
CHRONY:X:997:995::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
POLKITD:X:998:996:USER FOR POLKITD:/:/SBIN/NOLOGIN
SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN
DINGJIE:X:1000:1000:DINGJIE:/HOME/DINGJIE:/BIN/BASH
JEFF:X:1001:1024:WOSHIDASHUAIBI:/HOME/JEFF:/BIN/BASH
EGON:X:1002:1002::/HOME/EGON:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
Copier après la connexion

  5.取出当前主机的IP地址


[root@localhost ~]# ifconfig | egrep "inet.*broadcast.*"|cut -d&#39; &#39; -f10
192.168.0.133
Copier après la connexion

  6.列出/etc目录下所有已.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中


[root@localhost ~]# find /etc -name &#39;*.conf&#39; | egrep -o "[^/]*(\.conf)$"|tr &#39;a-z&#39; &#39;A-Z&#39; >/tmp/etc.conf
[root@localhost ~]# cat /tmp/etc.conf 
RESOLV.CONF
CA-LEGACY.CONF
FASTESTMIRROR.CONF
LANGPACKS.CONF
SYSTEMD.CONF
VERSION-GROUPS.CONF
LVM.CONF
LVMLOCAL.CONF
ASOUND.CONF
LDAP.CONF
MLX4.CONF
RDMA.CONF
SMTPD.CONF
Copier après la connexion

  7.显示/var目录下一级子目录或文件的总数


[root@localhost ~]# ls /var | wc -l
Copier après la connexion

  8.取出/etc/group第三个字段数值最小的10个组的名字


[root@localhost ~]# sort -t: -k3 -n /etc/group|head -10 |cut -d&#39;:&#39; -f1
root
bin
daemon
sys
adm
tty
disk
lp
mem
kmem
Copier après la connexion

  9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中


[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test
[root@localhost ~]# cat /tmp/etc.test 
#
# /etc/fstab
# Created by anaconda on Sat May 13 10:12:58 2017
#
# Accessible filesystems, by reference, are maintained under &#39;/dev/disk&#39;
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root   /            xfs   defaults    0 0
UUID=2789d01a-4e2b-47a5-9c3c-537641648663 /boot          xfs   defaults    0 0
/dev/mapper/cl-swap   swap          swap  defaults    0 0
\S
Kernel \r on an \m
Copier après la connexion

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Comment exécuter le code Java dans le bloc-notes Comment exécuter le code Java dans le bloc-notes Apr 16, 2025 pm 07:39 PM

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

Peut-on utiliser pour mac Peut-on utiliser pour mac Apr 15, 2025 pm 07:36 PM

VS Code est disponible sur Mac. Il a des extensions puissantes, l'intégration GIT, le terminal et le débogueur, et offre également une multitude d'options de configuration. Cependant, pour des projets particulièrement importants ou un développement hautement professionnel, le code vs peut avoir des performances ou des limitations fonctionnelles.

Qu'est-ce que VScode pour quoi est VScode? Qu'est-ce que VScode pour quoi est VScode? Apr 15, 2025 pm 06:45 PM

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

Comment utiliser vscode Comment utiliser vscode Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) est un éditeur de code Open Source, Open Source et gratuit développé par Microsoft. Il est connu pour son léger, l'évolutivité et le support pour une large gamme de langages de programmation. Pour installer VScode, veuillez visiter le site officiel pour télécharger et exécuter l'installateur. Lorsque vous utilisez VSCODE, vous pouvez créer de nouveaux projets, modifier le code, déboguer le code, naviguer dans les projets, développer VSCODE et gérer les paramètres. VScode est disponible pour Windows, MacOS et Linux, prend en charge plusieurs langages de programmation et fournit diverses extensions via Marketplace. Ses avantages incluent le léger, l'évolutivité, le support linguistique étendu, les fonctionnalités riches et la version

Quel est le but principal de Linux? Quel est le but principal de Linux? Apr 16, 2025 am 12:19 AM

Les principales utilisations de Linux comprennent: 1. Système d'exploitation du serveur, 2. Système intégré, 3. Système d'exploitation de bureau, 4. Environnement de développement et de test. Linux excelle dans ces domaines, offrant des outils de stabilité, de sécurité et de développement efficaces.

Comment vérifier l'adresse de l'entrepôt de Git Comment vérifier l'adresse de l'entrepôt de Git Apr 17, 2025 pm 01:54 PM

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.

See all articles