Rechercher : dans
Par :

Chaine de caractère et Perl

Dernière réponse le 15 avr 2009 à 01:33:00 flongo, le 14 avr 2009 à 17:30:47 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un fichier txt composé de chiffres et lettres.
Je veux extraire que ce qui m'interresse dans ce fichier. Par exemple mon fichier est comme suit:

INFO: CLOSE FILE 00000000000000000000.mes->0
Réception 000000 - Date livraison 20080101120000 - Identité MleX (Y) ......

Ce que je veux récupérer est en gras a savoir:

- 00000000000000000000
- 000000
- 20080101120000
- Mle
- X
- Y

J'ai commencé à faire mon programme qui est comme suit :

#!/usr/bin/perl

open (FICHIER, "<P:\\Resul\\reception.txt") or die("Impossible de lire le fichier! \n");
open (WRITER, ">P:\\Resul\\reception2.txt") or die("Impossible d'ecrire dans le fichier! \n");
$ligne=<FICHIER>;

foreach (<FICHIER>) {

$num_mess=substr($ligne,18,20) if /INFO : Close File/ .. /.mes -> 0/;
print $num_mess;
print WRITER;

$num_recep=substr($ligne,10,6) if /Réception/;
print writer;
}

Ca marche pas des masse!

Quelqu'un peut ill m'aider? Y a t'il moyen de supprimer les mots clés qui sont tjs dans mon fichier?

Merci
CDLT

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Chaine de caractère et Perl » dans :
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

 loupius, le 15 avr 2009 à 01:33:00

Ah Perl est un langage particulier, et trop souvent on l'utilise en mimant d'autres langages, dommage.
Je ne vais bien sûr pas faire tout ton exercice mais seulement la première extraction, ce qui nous donne:

#!/usr/bin/perl 
use strict;
use warnings;

open(LIRE, "fichier1.txt") or die("erreur fichier lecture");
open(ECRIRE, ">fichier2.txt") or die("erreur fichier écriture");

while(<LIRE>){
  print ECRIRE "$1\n" if /INFO: CLOSE FILE (\d+)\.mes->0/;
}

close(LIRE);
close(ECRIRE);
La recherche est peut-être à adapter car j'ai supposé que la chaîne était constituée uniquement de chiffres.
Tu vois, c'est concis. Je te laisse faire le reste.
Bon courage.

Répondre à loupius