2010-02-27 13 views
0

J'écris un script shell pour extraire les pièces jointes à partir d'un fichier mboxscript shell pour extraire les pièces jointes avec nom de fichier spécifique

Au moment où j'utilise cette commande: cat mboxfile | formail -des munpack -qf

Mais je voudrais intégrer l'adresse e-mail de l'expéditeur dans le nom de fichier, quelque chose comme:

[email protected]_filename.extension

Pouvez-vous me suggérer un autre outil? Pourquoi ne pas utiliser un langage de script avec les bibliothèques mbox?

Répondre

1

Pourquoi ne pas utiliser un langage de script avec les bibliothèques mbox? par exemple. Perl et le module Mail::MBox. L'utilisation d'une bibliothèque toute faite vous sauvera probablement beaucoup de chagrin.

+0

parce que je ne sais pas perl;) D'abord je voudrais trouver une solution de coquille ... – atrent

+0

Je recommanderais d'apprendre un langage de script plus puissant. Ne doit pas être Perl - peut-être Ruby/Python etc.? Mais j'apprécie que cela ne vous aide pas pour le moment. –

+0

Je pense que je vais aller pour python ... merci – atrent

1

SOLVED:

cat $MBOX|formail -des ../dumpFile.sh # split the mbox in many messages 

for mail in * # cycle on every message 
do 
echo =========================== 
FROM=$(../extractFrom.sh $mail |tr -d "<"|tr -d ">"|tr -d "/" |sed 's/@/-AT-/'|tr "." "-"|sort|uniq) # get address 
for file in $(munpack $mail |cut -f1 -d" "|tr -s "_" "-") # extract attachments and prepend address 
do 
    echo ln $file utente:${FROM}_tipo:$file # whatever 
done 
done 

où dumpFile.sh est juste:

cat >$(mktemp -p .) 

et extractFrom.sh est un script awk pour obtenir l'adresse e-mail

Questions connexes