Salut Alain,

> >   echo "$line"
> >   cd "$line"    # pour bash, un seul élément

Dans mon cas cela n'améliore rien, il n'arrive pas à aller sur le partage 
windows. Par contre cela fonctionne à merveille avec un rep linux.....

Il doit interpréter différemment le ? quand il est directement utilisé dans 
une variable ou en "ligne de commande".  C'est sans doute dû à la différences 
de codes pages entre les deux machines. 

J'ai essayé de faire un lien symbolique pour donner au répertoire un nom sans 
caractères accentués et cela ne fonctionne pas mieux. C'est même pire, en 
ligne de commande, je n'arrive même pas à faire un cd. :(((( Il me dit qu'il 
n'existe pas.

Donc à moins de trouver une solution pour "convertir" les codes pages, je vais 
faire du hardcoding... C'est pas beau, je sais ;)

Par contre ta solution avec find est superbe et je vais l'utiliser, elle me 
simplifiera la vie.

Pour le problème de mail, c'est stupide sendmail n'est pas lancé.
Comme la machine que j'utilise pour cette application est un serveur de 
calcul. Qu'il est 90% du temps à 100% de cpu, qu'il est critique, que je ne 
connais pas sendmail, que j'ai pas le temps de le tester, que j'ai pas de 
machine de test, qu'elle évolue dans un réseau où je n'ai pas la main et où 
elle est fait figure d'OVNI et enfin que je ne veux pas me mettre à dos la 
boite qui gère le réseau interne. Ouf, je vais écrire, en perl, une appli 
genre mail qui en plus interrogera le dns pour connaitre le mx record.

Je n'aurai pas à installer un serveur de mail. J'évite aussi les problème dû 
aux changement de serveur de mails sur le réseau de la boite.


Merci.    

Thierry
On Thursday 18 May 2006 21:21, Alain EMPAIN wrote:
> petites corrections :
>
> Alain EMPAIN wrote:
> > Tu peux simplifier :
> >
> > tu crées un fichier TICK dans ta directory
>
>       CIBLE
>
> > 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 ... ] # on exécute s'il contient qqch
>
> > 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
> >
> > _______________________________________________________
> > 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
_______________________________________________________
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 à