encore un souci bash

Pàgina inicial

Reply to this message
Autor: anne aublanc
Data:  
A: guilde
Assumpte: encore un souci bash
bonjour,

J'ai un fichier dans un traitement de texte de ce style :
LIST-Num : zzerty ---



12345|nom_dest|nom_exp|mail|

7410||||

1523||exp||

12345|nom_dest|nom_exp|mail|

12345|nom_dest|nom_exp|mail|

12345|nom_dest|nom_exp|mail|

12345|no m_dest|nom_exp|mail|

12345|nom_dest|nom_exp|mail|

12345|nom_dest|n om_exp|mail|

12345|nom_dest|nom_exp|mail|

12345|nom_dest|nom_exp|mail|

12345|nom_dest|nom_exp|mail|

12345|nom_dest|nom_exp|mail|



1523||exp||

12345|nom_dest|nom_exp|mail|



Cela correspond à 2 pages (les lignes blanches dans la liste)



J'ai envoyé ce fichier sur le serveur avec une imprimante postscript.

J'ai fait un ps2acii de ce fichier postcript => zztt6
Je peux envoyer le fichier ps si vous voulez...

vi de zztt6 avec :set list ( ;o) )
-------------------------------------------------------------------------------

%%[ ProductName: AFPL Ghostscript ]%%$
$
$
LIST-Num : zzerty --- 12345|nom_dest|nom_exp|mail| 7410|||| 1523||exp||
12345|nom_dest|nom_exp|mail| 12345|nom_dest|nom_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|no m_dest|nom_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|nom_dest|n om_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|nom_dest|nom_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|nom_dest|nom_exp|mail| ^L%%[Page: 1]%%$
$
$
1523||exp|| 12345|nom_dest|nom_exp|mail| ^L%%[Page: 2]%%$
%%[LastPage]%%$

------------------------------------------------------------------------------------



J'ai besoin de faire un fichier qui aura seulement les lignes commençant par
les chiffres.

Tu ferais cela comment?



La ligne qui commence par LIST... correspond au nom de fichier pour
sauvegerde et cela no problem... je récupère le nom dans une variable avec :

# LISTE : nom du document  contenant les numéros de téléphone (obligatoire)
# pour les numéros de téléphone
LISTNUM=`ps2ascii ${FAXFILE} | awk '{ IGNORECASE=1 } /LIST-Num ?[ ] ?:
?[0-9a-zA-Z]+/ \
         {  $0=$0 "xxx"; \
             anfang=match($0,/LIST-Num ?[ ] ?: ?/); \
             anfang=substr($0,anfang); \
             gsub(/^LIST-Num[ ]*[:][ ]*/,"",anfang); \
             gsub(/[ ]*---.*/,"",anfang);
             printf ("%s", anfang) \
         }' `


Mais ce que je récupère dans ce fichier ne correspond pas vraiment à mes
demandes...
J'en suis à :
ps2ascii /tmp/smbprn.000018.DRZ9si | sed 's/%%\[.*\]%%\(.*\)/\1/' | sed
'/^$/d' > /tmp/zztt8

vi /tmp/zztt8
LIST-Num : zzerty --- 12345|nom_dest|nom_exp|mail| 7410|||| 1523||exp||
12345|nom_dest|nom_exp|mail| 12345|nom_dest|nom_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|no m_dest|nom_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|nom_dest|n om_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|nom_dest|nom_exp|mail|
12345|nom_dest|nom_exp|mail| 12345|nom_dest|nom_exp|mail| ^L$
1523||exp|| 12345|nom_dest|nom_exp|mail| ^L$

Je n'arrive pas à enlever les '^L' qui doivent correspondre au saut de page

anne