Extraction et mis en form de texte

[Résolu/Fermé]
Signaler
-
 cyd77 -
Bonjour,
Voila mon problème, je dois extraire des lignes d'un fichier texte (IN.txt)
La première commence par "<|" et la seconde par "$"

Mon fichier de sortie doit contenir sur la meme ligne :
la ligne 1 sans les 2 premiers caractères "<|" suivi de la ligne 2 sans le premier caractère "$"

J'ai plusieurs lignes dans a récupérer dans un même fichier ......

Merci de votre aide

Cyd



Fichier IN.txt:

[2010.04.30 11:24:42] PDF Processing Started for c:\test\in\001.pdf
[2010.04.30 11:24:42] Key Extraction Started
<|001.pdf
$|00000006|0|417|541|457|550|10/03/10|0|778|524|813|533|94742300
>|6 PAGES - 1 DOCUMENTS
[2010.04.30 11:24:42] Key Extraction Done
[2010.04.30 11:24:42] PDF Processing Done for c:\test\in\001.pdf

Fichier OUT:
001.pdf|00000006|0|417|541|457|550|10/03/10|0|778|524|813|533|94742300

3 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Salut,

Il te faut un langage particulier ?
La 1ère ligne est toujours suivie d'une 2nd commençant par "$" ?
Pour le langage ce sera le plus simple possible.... de toute manière pour le moment j'ai rien d'installé ........
Oui la première ligne est toujours suivi d'une 2nd commençant par "$" et ainsi de suite ....
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Re-

J'ai ça avec "sed" (je suis sous GNU/Linux, mais il existe une version pour Windows Sed pour Windows).

Voilà ce que ça donne Sous GNU/Linux :

jp@MDK:~/tmpfs ssh$ cat cyd
[2010.04.30 11:24:42] PDF Processing Started for c:\test\in\001.pdf
[2010.04.30 11:24:42] Key Extraction Started
<|001.pdf
$|00000006|0|417|541|457|550|10/03/10|0|778|524|813|533|94742300
>|6 PAGES - 1 DOCUMENTS
[2010.04.30 11:24:42] Key Extraction Done
[2010.04.30 11:24:42] PDF Processing Done for c:\test\in\001.pdf

jp@MDK:~/tmpfs ssh$ sed -n '/^<|/N;s/<|//;s/\n\$//p' cyd > cyd.out

jp@MDK:~/tmpfs ssh$ cat cyd.out
001.pdf|00000006|0|417|541|457|550|10/03/10|0|778|524|813|533|94742300

jp@MDK:~/tmpfs ssh$


Et sous Windows :

C:\temp>type cyd.txt
[2010.04.30 11:24:42] PDF Processing Started for c:\test\in\001.pdf
[2010.04.30 11:24:42] Key Extraction Started
<|001.pdf
$|00000006|0|417|541|457|550|10/03/10|0|778|524|813|533|94742300
>|6 PAGES - 1 DOCUMENTS
[2010.04.30 11:24:42] Key Extraction Done
[2010.04.30 11:24:42] PDF Processing Done for c:\test\in\001.pdf

C:\temp>sed -n "/^<|/N;s/<|//;s/\n\$//p" cyd.txt > cyd.out.txt

C:\temp>type cyd.out.txt
001.pdf|00000006|0|417|541|457|550|10/03/10|0|778|524|813|533|94742300

C:\temp>


;-))
Merci c super !!!!!!!!!!! Il me reste juste à tester sur un fichier complet mais ça fonctionne sur les petits fichiers que j'ai déjà.

Merci encore :)