Maison >Opération et maintenance >exploitation et maintenance Linux >expression régulière
[a-z] : lettres minuscules
[ A-Z] : lettres majuscules
[a-Z] : lettres minuscules ou majuscules
[0-9] : chiffres
[a-zA-Z0-9] : Correspond à un caractère qui est une lettre ou un chiffre
: Correspond à n'importe quel caractère, à l'exception des espaces
.[0-f] : nombre hexadécimal
abc | def : abc ou def
a ( bc | de) f : abcf ou adef
< : Le premier mot est généralement séparé par des espaces ou des caractères spéciaux, et la chaîne continue est considérée comme un mot
> : fin de mot
[^expression] : tous les caractères sauf les lettres minuscules, et ainsi de suite.
Le côté gauche de ces symboles doit avoir l'expression du premier point ci-dessus
Expression* : 0 ou n caractères
Expression+ : 1 ou n caractères
Expression ? : 0 ou 1 caractères
expression {n} : n caractères
expression {n:m} : n à m Caractères
Expression {n,} : au moins n caractères
[Exemple] [a-z]* signifie correspondre à 0 Ou plusieurs lettres minuscules
^ expression : la tête correspond
Expression$ : La queue rencontre
Version étendue de grep, vous. peut utiliser des expressions régulières
egrep - option nom de fichier 'expression régulière'
-n : Afficher les numéros de ligne
-o : Afficher uniquement le contenu correspondant
-q : Silencieux mode, pas de sortie, il faut utiliser $? pour juger si l'exécution est réussie, c'est-à-dire si le contenu souhaité est filtré
- l : Si la correspondance est réussie, seulement le nom du fichier sera imprimé s'il échoue, il ne sera pas imprimé. Habituellement, -rl est utilisé ensemble, grep -rl 'root' /etc
-A : s'il correspond. En cas de succès, la ligne correspondante et les n lignes suivantes seront imprimées ensemble
-B : Si la correspondance est réussie, la ligne correspondante et les n premières lignes seront imprimées ensemble
-C : Si la correspondance est réussie, imprimez ensemble la ligne correspondante et les n lignes avant et après celle-ci
--color
-c : Si la correspondance est réussie, imprimez le nombre de lignes correspondantes
-i : Ignorer la casse
- v : Nier, ne pas correspondre
-w : Faire correspondre les mots
②Positionnement d'expression régulière
* Option gourmande : remplir g, ce qui signifie tout remplacer éléments correspondants dans une ligne
Commande :
utilisez {commande 1 : commande 2 : commande 3 } Plusieurs commandes peuvent être ajoutées
syntaxe de commande : sed -r 'commande de remplacement s/expression régulière/contenu de remplacement/option gourmande g' nom de fichier
3.
Utilisez le paramètre -F en option pour définir le symbole d'intervalle
Utilisez l'ordre de 1 $, 2 $, 3 $, etc. pour représenter les différents champs dans chaque colonne séparés par des espaceurs dans chaque ligne de fichiers. La variable NF représente le nombre de champs dans l'enregistrement actuel
awk - Paramètre d'option 'Jugement logique {variable de commande 1, variable 2, variable 3}' Nom du fichier
-F Définir le séparateur de champ , le délimiteur par défaut est des espaces continus ou des tabulations
-v Définir des variables et attribuer des valeurs. Vous pouvez également utiliser la méthode empruntée pour introduire
.Variable AWK
NR Le nombre d'enregistrements actuels (statistiques une fois tous les fichiers connectés)
FNR Le nombre d'enregistrements actuels (uniquement les statistiques pour le fichier actuel, pas tous)
Le séparateur de champ FS est par défaut des espaces ou des tabulations continus, et plusieurs différents symboles peuvent être utilisés pour la séparation Symbole -F[:/]
OFS Le séparateur par défaut pour les caractères de sortie est l'espace
[Exemple OFS]
# awk -F : 'OFS="=====" {print $1,$2}' /etc/passwd
root===== x
NF Le nombre de champs dans la ligne actuellement lue
ORS L'enregistrement de sortie par défaut le séparateur est une nouvelle ligne
[Exemple ORS]
# awk -F: 'ORS="=====" { print $1,$2}' /etc /passwd
root x=====bin x=====
FILENAME actuel nom de fichier
[Exemple 1] Utilisation de variables AWK
# awk '{print NR,FNR,$1}' file1 file2
1 1 aaaaa
2 2 bbbbb
3 3 ccccc
4 1 dddddd
5 2 eeeeee
6 3 ffffff
#
[Exemple 2]Comment citer les variables du shell
# a=root
# awk -v var=$a -F: '$1 == var {print $0}' /etc/passwd
Ou divisez la commande entière et transmettez-le pour exposer les variables du shell,
# awk -F: '$1 == "'$a'" {print $0}' /etc/passwd
# a=NF
# awk -F: '{print $'$a'} ' /etc/passwd
= += -= /= *= : Affectation
&& || : Logique ET logique ou NON logique
~ !~ : Correspondance régulière ou non, les expressions régulières doivent être entourées de /regular/
<= >= != ==: relation, quand en comparant les chaînes, les chaînes doivent être placées entre guillemets doubles Come to
$ : les références de champ doivent être ajoutées avec $, tandis que les références de variables sont directement nommées avec des noms de variables
+ - * / % ++ -- : Opérateurs
\ soi
$ Échapper $
t onglet
b retour arrière
r Caractère de retour chariot
n Caractère de saut de ligne
c Annuler le saut de ligne
Veuillez me corriger s'il y a des erreurs. Pour plus de détails, veuillez vous référer à :
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!