Extraction et mis en form de texte

Résolu
cyd77 -  
 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

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Il te faut un langage particulier ?
    La 1ère ligne est toujours suivie d'une 2nd commençant par "$" ?
    0
  2. cyd77
     
    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 ....
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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>


    ;-))
    0
    1. cyd77
       
      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 :)
      0