[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