[px:tech] Regex

Vincent-Xavier Jumel vxjumel at parinux.org
Jeu 16 Mar 21:24:04 CET 2023


Bonsoir,

Je pense que l'exemple suivant répond à ta question :

echo "D1 1 2 D1N4148" | sed -re '/^D[0-9]*\s([A-Z0-9])\s([A-Z0-9]).*$/p; 
s/^D([0-9]*)\s([A-Z0-9])\s([A-Z0-9]).*$/R10\1 \2 \3 20meg/'

Le 16.03.2023 18:40, Patrick Pouget a écrit :
> Bonjour
> 
> J'aurais un besoin d'une expression régulière pour:
> 
> détecter la ligne commencçant par (par exemple) D1
> prendre les 2 champs suivants
> ignorer le reste
> fabriquer une nouvelle ligne, en plus, reprenant les champs 2 et 3
> 
> D1 1 2 D1N4148
> ==>
> R101 1 2 20meg
> 
> La nouvelle ligne peut être avant ou après celle qui a déclenché le
> regex
> Cette modification n'intervient qu'une fois car D1 est unique
> La nouvelle ligne peut même être placée n'importe ou en respectant
> certaines conditions, mais peut toujours être juste avant ou après.
> 
> Il me faudra faire plusieurs regex par exemple avec D1 D5 et D12, je
> mettrai les sed à la suite
> 
> Le must serait d'avoir un truc qui prenne les 3 examples, par contre il
> me faut l'unicité sur R. ça peut être R101 R105 et R1012
> 
> Merci
> 
> Cordialement
> 
> Patrick
> 
> 
> 
> 
> _______________________________________________
> tech mailing list
> tech at lists.parinux.org
> https://lists.parinux.org/listinfo/tech



Plus d'informations sur la liste de diffusion tech