Range pattern matching avec SED - Shell/Batch - Programmation
Marsh Posté le 05-10-2005 à 20:03:04
Passe de SED à AWK, il est prévu pour les traitements complexes ... alors que le premier est vite limité pour faire autre chose que du matching.
Marsh Posté le 05-10-2005 à 21:00:09
je sais j'y ai pensé (et même déjà fait un script) mais j'ai un problème avec awk qui ne gère pas les lignes de plus de 1024 caractères sur AIX (version 5.1)...
Marsh Posté le 05-10-2005 à 21:54:27
Tu as essayé GNU Awk ?
Marsh Posté le 05-10-2005 à 22:54:24
il est malheureusement pas installé...
et je ne suis pas l'admin de la machine en question
Marsh Posté le 05-10-2005 à 23:09:07
Je ne sais pas si c'est comme ça sous AIX, mais sous Solaris awk connait la même limitation, on n'a pas gawk non plus, par contre on a nawk, qui lui n'est pas limité.
Sinon je ne sais pas... à la grande limite regarde si tu as PERL. Ou demande l'installation de gawk, c'est standard maintenant.
Sinon ça va être bouts de scotch et morceaux de ficelle
Marsh Posté le 06-10-2005 à 01:40:18
awk et nawk sous AIX, c'est le même binaire...
c'est corrigé avec la version 5.3 mais si je pouvais j'aurai upgrade l'OS depuis longtemps
en PERL c'est faisable mais c'est un peu trop "gros" pour ce que je veux faire...
je pense que y a moyen avec une bonne regexp de faire ce que je veux mais je suis pas expert, genre :
Code :
|
mais ça a pas l'air de marcher (au niveau de la non sélection des lignes terminées par <FS> )
Marsh Posté le 06-10-2005 à 05:03:04
Tu peux utiliser perl de cette manière :
perl -e 's/regexp1/regexp2/' toto
en mettant les bonnes regexp.
Marsh Posté le 05-10-2005 à 15:40:51
Je voudrais recuperer une portion de texte avec SED : le debut commence avec la balise <FS> en tete de pragraphe et la fin avec <FS> en fin de paragraphe (mais sur 2 lignes au minimum).
Je procede normalement de la sorte :
Ca marche bien mais maintenant je veux affiner le controle en supprimant de la selection les lignes commencant par <FS> et se terminant par <FS>. Comment puis je faire avec des expressions regulieres pour "matcher" une ligne debutant avec <FS> mais ne se terminant pas par <FS> ?
---------------
http://phantom99.cjb.net