J'ai vraiment du mal avec sed....

Résolu
vieurou Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
 lami20j -
rebonjour,

je voudrait avec sed remplacer
if_lt r4.x, c0.b 
par
IF LT.x

sachant que x peut etre dautre lettre donc par exemple si savais
if_lt r4.z, c0.b 
ce soit remplacé par
IF LT.z

au mieux j'aimerais que sed me trouve les "if_", recupere les deux caracteres suivant (lt, gt ,en ,eg) pour que si sed trouve
if_gt r4.w, c0.b 
ce soit remplacé par
IF GT.w

j'ai presque reussi mais c'est pas ça ...

à l'aide jipicy :)

ps : quelle est la fonction pour remplacer une ligne entiere et pas seulement les occurence que sed trouve?

Configuration: Linux
Firefox 2.0.0.6

21 réponses

vieurou Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   2
 
ça me trou le cul :

$ cat test.psh
if_lt r19.x, c0.b

$ sed -r 's/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$/IF \U\1\E.\2/' test.psh
if_lt r19.x, c0.b

$ sed -r -i 's/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$/IF \U\1\E.\2/' test.psh

$ cat test.psh
if_lt r19.x, c0.b

$ sed -r 's/if_(..).*[a-zA-Z][0-9]*\.([a-z]).*[a-z]$/IF \U\1\E.\2/' test.psh >test2.psh

$ cat test2.psh
if_lt r19.x, c0.b

$ sed -i.bak  '/if_.. r\([0-9]\+\).*/{s/if_../\U&/;s/_/ /;s/\(.....\)\( .*[^\.]\.\)\(.\).*[a-z]$/\1.\3/}' test.psh

$ cat test.psh
IF LT r19.x, c0.b




j'ai une tite envie de chialer...
0