REGEX SED et commande substitute
tht123
Messages postés
72
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
Je tente de remplacer une ligne par elle même complétée par des points virgules à des endroits fixes, mais sans succès...
Le problème est que toute les lignes n'ont pas la même longueur..
Je dois faire :
REMPLACER caractère n°16 par ";"
offset1=25
offset2=15
i=0
While not(FIN DE LIGNE) DO
begin
REMPLACER caractère n°50+(i*offset1) par ";"
REMPLACER caractère n°90+(i*offset2) par ";"
inc(i);
end;
Pourriez vous m'aider je suis dans le ...
Merci dores et déjà!
Je tente de remplacer une ligne par elle même complétée par des points virgules à des endroits fixes, mais sans succès...
Le problème est que toute les lignes n'ont pas la même longueur..
Je dois faire :
REMPLACER caractère n°16 par ";"
offset1=25
offset2=15
i=0
While not(FIN DE LIGNE) DO
begin
REMPLACER caractère n°50+(i*offset1) par ";"
REMPLACER caractère n°90+(i*offset2) par ";"
inc(i);
end;
Pourriez vous m'aider je suis dans le ...
Merci dores et déjà!
A voir également:
- REGEX SED et commande substitute
- Invite de commande - Guide
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
- Commande scannow - Guide
2 réponses
Salut,
Afin qu'on se comprenne bien, tu peux mettre un "avant" => "après" ;-))
Afin qu'on se comprenne bien, tu peux mettre un "avant" => "après" ;-))
tht123
Messages postés
72
Statut
Membre
Tiens, ça fait pas tout à fait ce que tu veux, mais bon vu la complexité de la chose, c'est une bonne piste à explorer...
[tmpfs]$ cat tht123
TXT000001 DATA XYZ GVFTR NJI X4 YY
TXT000651 DATA Xtta GTRE NJI aa gg 56
TXT003451 DATA XYZ HVFTR NJI XX YY aa bb kk
[tmpfs]$ sed '
s/\(.\{9\}\).\(.*\)/\1;\2/
s/\(.\{19\}\).\(.*\)/\1;\2/
s/\(.\{29\}\)[ ][^a-zA-Z]*\(.*\)/\1;\2/
s/[ ]\{3,\}/;/g
' tht123
TXT000001;DATA XYZ ;GVFTR NJI;X4;YY;
TXT000651;DATA Xtta;GTRE NJI;aa;gg;56;
TXT003451;DATA XYZ ;HVFTR NJI;XX;YY;aa;bb;kk
[tmpfs]$;-))