[Perl] Traiter des fichiers .TXT

chabRRR Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
chabRRR Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Premièrement, je voudrais aussi écrire dans un fichier, mais je ne coonias rien du perl.

mon fichier est normalisé comme cela:
05:57:42 10.100.62.52 /hit.xiti s=241243&s2=1&p=PNC&hl
05:57:43 10.100.62.52 /hit.xiti s=241243&s2=1&p=GSM_reconnu&hl
05:57:49 10.100.62.52 /hit.xiti s=241243&s2=1&p=transfere&hl

je souhaite pouvoir ajouter en début de chaque ligne une date au format 00/00/0000 puis un carcatere "espace" et un "=" pour séparer. L'idéal serait d'avoir une fenetre d'affichage qui demande "veuillez saisir la date a rajouter au fichier :" et ensuite ajouter cette date au début de chaque ligne.

les lignes du fichier doient devenir comme cela par exemple
02/03/2007 = 05:57:42 10.100.62.52 /hit.xiti s=241243&s2=1&p=PNC&hl

Ensuite, j'aimerais, toujours en perl, concatener plusieurs fichers. C'est a dire, j'ai plusieurs fichiers .txt de date différentes (auxquels j'ai pu ajouter la date auparavant) et je voudrais n'en avoir plus qu'un seul qui contient l'ensemble du contenu des autres fichiers.

Help me
Merci par avance
A voir également:

2 réponses

Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
Pour concaténer, une simple ligne suffit :

cat fichier1 fichier2 > fichier_destination


Pour ce que tu veux faire, tu devrais jeter un oeil à Sed !
0
chabRRR Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   5
 
Voila ce que j'ai trouvé sur la commande sed, un exemple d'insertion:

sed -i '2i\Ceci est une ligne insérée sur la ligne 2\' fichier.txt

mais comment je peux faire pour insérer ma date sur toute les lignes du fichiers ?
comment je peux faire pour avoir une fenetre qui demande la date à insérer et qui enregistre la valeur dans une variable ? ...afin d'utiliser cette valeur dans la comande sed -i
0