manipulation d'une chaine

Avell Diroll avelldiroll at yahoo.fr
Mar 23 Sep 23:54:14 UTC 2008


Tahar wrote:
 > mes lignes sont sous la forme
> 
> {12}AUTHENTICATE{14}adresse at mon.mail{8}password
> 
> Je voudrais garder uniquement la partie adresse mail et mot de passe et
> supprimer tout le reste sachant que ce qui se trouve entre {} peut varier

*awk* est plus adapté à se genre de choses:

awk -F'[{}]' '{print $5,$7}' FichierTexteAFiltrer


même si mon premier réflexe serait de lancer un shell *python* (ou
plutôt ipython):

import re
f=open('FichierTexteAFiltrer')
for line in f:
    splited_line = re.split('[{}]',line)
    print splited_line[4], splited_line[6].strip()

toutefois le meilleur outil pour se genre de choses reste le *perl*
(même si je ne suis pas un grand fan):

perl -F[{}] -lane 'print "@F[4,6]"' FichierTexteAFiltrer

Bonne continuation

Ju
-- 
Never argue with an idiot, he will take you down to his level and beat
you with experience...




Plus d'informations sur la liste de diffusion ubuntu-fr