Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1705 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Range pattern matching avec SED

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Range pattern matching avec SED

n°1215635
phan_tom_9​9
Posté le 05-10-2005 à 15:40:51  profilanswer
 

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 :

Code :
  1. $sed -n '/^<FS>/,/<FS>$/p' toto


 
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
mood
Publicité
Posté le 05-10-2005 à 15:40:51  profilanswer
 

n°1215924
Deadlock
Feck off, cup !
Posté le 05-10-2005 à 20:03:04  profilanswer
 

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.


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1215952
phan_tom_9​9
Posté le 05-10-2005 à 21:00:09  profilanswer
 

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)...


---------------
http://phantom99.cjb.net
n°1216016
Deadlock
Feck off, cup !
Posté le 05-10-2005 à 21:54:27  profilanswer
 

Tu as essayé GNU Awk ?


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
n°1216075
phan_tom_9​9
Posté le 05-10-2005 à 22:54:24  profilanswer
 

il est malheureusement pas installé...
et je ne suis pas l'admin de la machine en question :(


---------------
http://phantom99.cjb.net
n°1216083
Elmoricq
Modérateur
Posté le 05-10-2005 à 23:09:07  profilanswer
 

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 :/

n°1216109
phan_tom_9​9
Posté le 06-10-2005 à 01:40:18  profilanswer
 

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 :
  1. $sed -n '/^<FS>[^ ]*[^<][^F][^S][^>]$/,/<FS>$/p' toto


 
mais ça a pas l'air de marcher (au niveau de la non sélection des lignes terminées par <FS> )


---------------
http://phantom99.cjb.net
n°1216114
el muchach​o
Comfortably Numb
Posté le 06-10-2005 à 05:03:04  profilanswer
 

Tu peux utiliser perl de cette manière :
perl -e 's/regexp1/regexp2/' toto
 
en mettant les bonnes regexp.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Range pattern matching avec SED

 

Sujets relatifs
[Résolu]Syntaxe Range avec variableMatching entre profils utilisateurs dans une base
un pattern pour les Exceptions?Faire du pattern matching et des expressions reguliers sous MySQL?
Pb de rangeDesign Pattern
Comment passer une zone filtrée dans une variable de type rangeAide pattern visitor svp !
[SED/AWK] le corps d'un mail 
Plus de sujets relatifs à : Range pattern matching avec SED


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR