Tu peux simplifier :

tu crées un fichier TICK dans ta directory

ex: date > TICK

maintenant pour connaître les fichiers qui t'intéressent :

# -------------------------------------------
MONSHARE="/mnt/distant/Donn?es A1/"
cd "$MONSHARE"  # mettre des " " sinon le blanc va servir de délimiteur
ou utiliser un backslash
cd /mnt/distant/Donn?es\ A1/
find  . -maxdepth 1 -newer TICK > /tmp/maliste
date > TICK     # met à jour le fichier de référence de temps
                # pour le tour suivant
# -------------------------------------------
# rem: j'y mets la date, mais on pourrait tout aussi bien faire
#       echo coucou > TICK
#       ou touch TICK ;-)

Maintenant tu peux utiliser ta liste
if [ ! -s /tmp/maliste ]  # FILE exists and has a size greater than zero
then
  TEMPS=`date +%y%m%d-%H%M`
   mail -s "Ma liste du $TEMPS" [EMAIL PROTECTED] < /tmp/maliste
fi

Cela devrait marcher (pas testé), mais si tu veux lire ligne par ligne le fichier, n'oublie pas d'utiliser des "" pour le contenu de la ligne

for line in `cat /tmp/maliste`
do
  echo "$line"
  cd "$line"  # pour bash, un seul élément
  # ---
  echo $line    # visuellement identique,
  cd $line
                # mais pour bash il y a deux éléments
                # avec un espace séparateur
done

Bon amusement,

   Alain
-

Thierry Leurent wrote:
Bonsoir,

Voila la situation, je dois réaliser un script qui scanne régulièrement un répertoire et envois un mail avec le nom des fichiers qui y ont été créés depuis la dernière exécution du script.


Le principe de mon script est simple :
Pour connaître la dernière exécution, je stocke la date dans un fichier (nbr de secondes depuis epoc).

Je mémorise la date de début d'exécution.
Je lis le fichier pour connaître la date de dernière exécution.
Je liste les fichiers du répertoire (premier niveau uniquement) grâce à un savant mélange de stat, cut, sed et sort. Je par cour la liste et compare la date de dernière modification avec la date de dernière exécution.
    Si le fichier est plus récent, je sauve son nom.
J'envois la liste des fichiers via la commande mail.

C'est simple :) et cela fonctionne presque :(

J'ai deux problèmes :

- Le répertoire fait partie un partage windows, monté avec samba et le nom du répertoire à scanner (sous répertoire du montage) contient un caractère accentué et un blanc.
Je monte mon "disque samba" dans /mnt/distant/
Dans un terminal, je fais ls /mnt/distant/* et j'ai /mnt/distant/Donn?es A1/
Dans un terminal, je fais cd /mnt/distant/Donn?es A1 et j'arrive dans /mnt/distant/Donn?es A1
Génial

Je me remet dans mon /home.
Je fais un script # !/bin/bash
cd /mnt/distant/Donn?es A1
echo $(pwd);

Il se place bien dans le répertoire Je fais un script # !/bin/bash
cd ..
Rep1="/mnt/distant/Donn?es A1";
Rep2="/mnt/distant/Donn?es\ A1";
cd $Rep1;
echo $(pwd);
cd $Rep2;
echo $(pwd);

Il me dit que /mnt/distant/Donn?es n'est pas un rep
             que /mnt/distant/Donn?es\ n'est pas un rep

Idem avec un passage de paramêtre


Deuxième problème.

Sendmail refuse ma connexion via mail

Merci
Thierry








_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech



--
" Do something for freedom every day "
        * support Open Document Format :
                please discover and use OpenOffice (gratis)
        * or at least, install it as a converter from open format
                to a proprietary one.
Please realize that proprietary formats are important tools
to reinforce a monopoly.
begin:vcard
fn:Dr Alain EMPAIN
n:EMPAIN;Alain
org:University of LIEGE;Euregio ALMA-Grid project
adr;quoted-printable:Avenue de l'H=C3=B4pital, 3;;BAT. B23 GIGA,;Liege 1;;B-4000;Belgium
email;internet:[EMAIL PROTECTED]
title:Bioinformatics 
tel;work:+32 4 366 4497
tel;fax:+32 4 366 2917
tel;home:+32 85 51 2341
tel;cell:+32 497 70 1764
x-mozilla-html:FALSE
version:2.1
end:vcard

_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://lists.unixtech.be/cgi-bin/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech

Répondre à