1_Regex
Qu'est ce qu'une regex :
une expression régulière ou expression rationnelle ou expression normale ou motif est une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Les expressions régulières sont également appelées regex.
Ce qui permet d'affiner le plus possible ça recherche, ou juste à affiner ce qu'on attend lors d'une commande. Exemple :
Afficher les IP de l'hôte (loopback comprise)
ip -br a s | grep -Po '\s+\K\d[^/]+'
Pour afficher les port en écoute ou les connexion établit :
sudo netstat -tunlp| grep -Po '\s\\?([0-9]).*?.(LISTEN|ESTABLISHED)' |awk '{print $3}'
Mettre ^ fait en sorte de ce mettre au début d'une ligne
^mot
Fin de la ligne $
mot$
Tout les caractère d'espacement (espace, tabulation)
\s
Signifie une ou plusieurs caractère précédent
+
exemple : \s+ correspond à une ou plusieurs espaces.
Tout ce qui ce passe avant est ignorée
\K
Correspond à tout ce qui ce trouve entre 0 et 9
\d
correspond à tout caractère sauf le /. Les crochets [] définissent une classe de caractères, et le caractère ^ au début de cette classe signifie la négation.
[^/]
en gros : ![[Regex.png]] On fait un grep avec des regex juste pour pouvoir avoir les adresse IP ![[Regex_1.png]]
Le regex \s+\K\d[^/]+' cherche des séquences d'espaces suivies de chiffres et de caractères qui sont pas des / et qui ce trouve avant /
Autre regex
Groupes de capture ((...)) : Capture les sous-chaînes.
(ab)c
Ou (|) : Correspond à l'une ou l'autre des sous-chaînes séparées par le pipe.
a|b
Espaces blancs (\s) : Correspond à n'importe quel caractère d'espace blanc.
\s
Non-espace blanc (\S) : Correspond à tout caractère sauf les espaces blancs.
\S
Chiffres (\d) : Correspond à tout chiffre.
\d
Non-chiffres (\D) : Correspond à tout caractère sauf les chiffres.
\D
Mots (\w) : Correspond à n'importe quel caractère de mot (lettres, chiffres, et l'underscore)
\w
Non-mots (\W) : Correspond à tout caractère sauf les caractères de mot.
\W