-Comment faire pour selectionner dans un repertoire un fichier qui commence par toto et dont la date est la plus recente ....
Est ce que la "date" que tu veux correspont a l'attribut "date" du fichier ? (celui qui n'a rien a voir avec le nom du fichier).
Quel est le format de la date ? jj-mm-aaa ? est ce qu'il y a des lettres ou tout n'est qye chiffres ? -- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
Bonjour.
( Thu, 16 Dec 2004 10:04:11 -0800 ) sleepee :
-Comment faire pour selectionner dans un repertoire un fichier qui
commence par toto et dont la date est la plus recente ....
Est ce que la "date" que tu veux correspont a l'attribut "date" du
fichier ? (celui qui n'a rien a voir avec le nom du fichier).
Quel est le format de la date ? jj-mm-aaa ? est ce qu'il y a des lettres
ou tout n'est qye chiffres ?
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)
-Comment faire pour selectionner dans un repertoire un fichier qui commence par toto et dont la date est la plus recente ....
Est ce que la "date" que tu veux correspont a l'attribut "date" du fichier ? (celui qui n'a rien a voir avec le nom du fichier).
Quel est le format de la date ? jj-mm-aaa ? est ce qu'il y a des lettres ou tout n'est qye chiffres ? -- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
Christian CAMIER
sleepee wrote:
j'apprends doucement mais surement .....
voila .. j'ai 2 nouveaux hic ...
(solaris / ksh)
-Comment faire pour selectionner dans un repertoire un fichier qui commence par toto et dont la date est la plus recente ....
je veux chercher le fichier commencant par toto et le plus recent ... en recuperant bien sur les variables toto, var1, var2 et date ...
# Option -t du ls == tri en ordre décroissant de date # Option -l du ls == affichage long ls -lt toto* | awk ' # On dégage la première ligne et les répertoires FNR == 1 || /^d/ { next; } # La première ligne qui passe ici est le fichier # le plus récent { # On affiche: # nomfichier (mois jour heure) # Note, cela ne fonctionne qu'avec les fichiers # de l'année, sinon prendre en compte cas ou année # aussi affichée (1 champ de +) print $9 " (" $6 " " $7 " " $8 ")"; exit; }'
- ensuite , est -il possible, sur unix, de lancer un script dès qu'un nouveau fichier arrive dans un repertoire ???? Question récurente dans le monde des intégrateurs applicatifs :)
La réponse est malheureusement "NON". Il faut écrire un petit programme qui peut très bien être un script shell, lisant régulièrement le répertoire et comparant avec le dernier résultat.
merci beaucoup ;-)
De rien
sleepee wrote:
j'apprends doucement mais surement .....
voila .. j'ai 2 nouveaux hic ...
(solaris / ksh)
-Comment faire pour selectionner dans un repertoire un fichier qui
commence par toto et dont la date est la plus recente ....
je veux chercher le fichier commencant par toto et le plus recent ...
en recuperant bien sur les variables toto, var1, var2 et date ...
# Option -t du ls == tri en ordre décroissant de date
# Option -l du ls == affichage long
ls -lt toto* |
awk '
# On dégage la première ligne et les répertoires
FNR == 1 || /^d/ {
next;
}
# La première ligne qui passe ici est le fichier
# le plus récent
{
# On affiche:
# nomfichier (mois jour heure)
# Note, cela ne fonctionne qu'avec les fichiers
# de l'année, sinon prendre en compte cas ou année
# aussi affichée (1 champ de +)
print $9 " (" $6 " " $7 " " $8 ")";
exit;
}'
- ensuite , est -il possible, sur unix, de lancer un script dès qu'un
nouveau fichier arrive dans un repertoire ????
Question récurente dans le monde des intégrateurs applicatifs :)
La réponse est malheureusement "NON". Il faut écrire un petit programme
qui peut très bien être un script shell, lisant régulièrement le
répertoire et comparant avec le dernier résultat.
je veux chercher le fichier commencant par toto et le plus recent ... en recuperant bien sur les variables toto, var1, var2 et date ...
# Option -t du ls == tri en ordre décroissant de date # Option -l du ls == affichage long ls -lt toto* | awk ' # On dégage la première ligne et les répertoires FNR == 1 || /^d/ { next; } # La première ligne qui passe ici est le fichier # le plus récent { # On affiche: # nomfichier (mois jour heure) # Note, cela ne fonctionne qu'avec les fichiers # de l'année, sinon prendre en compte cas ou année # aussi affichée (1 champ de +) print $9 " (" $6 " " $7 " " $8 ")"; exit; }'
- ensuite , est -il possible, sur unix, de lancer un script dès qu'un nouveau fichier arrive dans un repertoire ???? Question récurente dans le monde des intégrateurs applicatifs :)
La réponse est malheureusement "NON". Il faut écrire un petit programme qui peut très bien être un script shell, lisant régulièrement le répertoire et comparant avec le dernier résultat.
merci beaucoup ;-)
De rien
Rakotomandimby (R12y) Mihamina
( Thu, 16 Dec 2004 21:19:41 +0100 ) Christian CAMIER :
Question récurente dans le monde des intégrateurs applicatifs :) La réponse est malheureusement "NON".
Sur la Mailing list de mon ancien FileManager (rox), j'ai eu cette reponse: (Elle n'a pas vraiment de rapport, mais c'est peut-etre une piste pour voir un le contenu d'un repertoire donné "evolue")
Hello, I'm downloading a large file from internet and if I change to the directory the file is downloaded in, Rox is refreshing too much often, so that it blinks. How do I set the refresh rate to 10 or more seconds ?
On linux, the Filer uses dnotify to perform rescans. This is a kernel feature that lets applications know when files have changed. There is no mechanism to change the timing of this.
However, I do not see this problem on my system using firefox. Can you provide more information about your setup? (OS and version, app, filer version, etc) _______________________________________________________
-- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
( Thu, 16 Dec 2004 21:19:41 +0100 ) Christian CAMIER :
Question récurente dans le monde des intégrateurs applicatifs :) La
réponse est malheureusement "NON".
Sur la Mailing list de mon ancien FileManager (rox), j'ai eu cette
reponse:
(Elle n'a pas vraiment de rapport, mais c'est peut-etre une piste pour
voir un le contenu d'un repertoire donné "evolue")
Hello,
I'm downloading a large file from internet and if I change to the
directory the file is downloaded in, Rox is refreshing too much often,
so that it blinks.
How do I set the refresh rate to 10 or more seconds ?
On linux, the Filer uses dnotify to perform rescans. This is a kernel
feature that lets applications know when files have changed. There is no
mechanism to change the timing of this.
However, I do not see this problem on my system using firefox. Can you
provide more information about your setup? (OS and version, app, filer
version, etc)
_______________________________________________________
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)
( Thu, 16 Dec 2004 21:19:41 +0100 ) Christian CAMIER :
Question récurente dans le monde des intégrateurs applicatifs :) La réponse est malheureusement "NON".
Sur la Mailing list de mon ancien FileManager (rox), j'ai eu cette reponse: (Elle n'a pas vraiment de rapport, mais c'est peut-etre une piste pour voir un le contenu d'un repertoire donné "evolue")
Hello, I'm downloading a large file from internet and if I change to the directory the file is downloaded in, Rox is refreshing too much often, so that it blinks. How do I set the refresh rate to 10 or more seconds ?
On linux, the Filer uses dnotify to perform rescans. This is a kernel feature that lets applications know when files have changed. There is no mechanism to change the timing of this.
However, I do not see this problem on my system using firefox. Can you provide more information about your setup? (OS and version, app, filer version, etc) _______________________________________________________
-- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
Nicolas George
R12y wrote in message :
On linux, the Filer uses dnotify to perform rescans. This is a kernel feature that lets applications know when files have changed.
Ouh, mais c'est intéressant, ça. Pour ceux qui voudraient économiser grep, c'est documenté dans Documentation/dnotify.txt dans les sources du noyau (avec un exemple minimaliste), ainsi que dans la page de man de fcntl(2), le flag F_NOTIFY.
Ceci dit, sans ça, on n'est en général pas obligé de relire le répertoire fréquemment : on peut tester si son ctime a été modifié, et ne le relire que dans ce cas.
R12y wrote in message <pan.2004.12.16.22.02.40.208572@mail.rktmb.org>:
On linux, the Filer uses dnotify to perform rescans. This is a kernel
feature that lets applications know when files have changed.
Ouh, mais c'est intéressant, ça. Pour ceux qui voudraient économiser grep,
c'est documenté dans Documentation/dnotify.txt dans les sources du noyau
(avec un exemple minimaliste), ainsi que dans la page de man de fcntl(2), le
flag F_NOTIFY.
Ceci dit, sans ça, on n'est en général pas obligé de relire le répertoire
fréquemment : on peut tester si son ctime a été modifié, et ne le relire que
dans ce cas.
On linux, the Filer uses dnotify to perform rescans. This is a kernel feature that lets applications know when files have changed.
Ouh, mais c'est intéressant, ça. Pour ceux qui voudraient économiser grep, c'est documenté dans Documentation/dnotify.txt dans les sources du noyau (avec un exemple minimaliste), ainsi que dans la page de man de fcntl(2), le flag F_NOTIFY.
Ceci dit, sans ça, on n'est en général pas obligé de relire le répertoire fréquemment : on peut tester si son ctime a été modifié, et ne le relire que dans ce cas.
Rakotomandimby (R12y) Mihamina
( Thu, 16 Dec 2004 23:08:49 +0000 ) Nicolas George :
Ouh, mais c'est intéressant, ça.
<grand grand sourire> Pour une fois que je peux servir a quelquechose ... -- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
( Thu, 16 Dec 2004 23:08:49 +0000 ) Nicolas George :
Ouh, mais c'est intéressant, ça.
<grand grand sourire>
Pour une fois que je peux servir a quelquechose ...
--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)
( Thu, 16 Dec 2004 23:08:49 +0000 ) Nicolas George :
Ouh, mais c'est intéressant, ça.
<grand grand sourire> Pour une fois que je peux servir a quelquechose ... -- ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance Unofficial FAQ fcolc - http://faq.fcolc.eu.org/ Linux User Group sur Orléans et alentours. Tél: + 33 2 38 76 43 65 (France)
Stephane Chazelas
2004-12-16, 10:04(-08), sleepee:
j'apprends doucement mais surement .....
voila .. j'ai 2 nouveaux hic ...
(solaris / ksh)
-Comment faire pour selectionner dans un repertoire un fichier qui commence par toto et dont la date est la plus recente .... [...]
ls | grep "^toto" | xargs echo | while read line; do ls -dt $line | head -1; done | xargs ls -dt | head -1 [...]
Je pense qu'il s'agit d'une blague qui rassemble un peu tous les trucs a ne pas faire en shell.
Pourquoi « des trucs à ne pas faire » ? Bien sur, dans le cas présent, il y avait plus simple, mais c'était pour dire que s'il y a trop de donner pour être traité d'un coup par une commande, il y a toujours possibilité de les traiter par blocs. Il m'est déjà arrivé d'avoir une liste de fichier non triée par date, et d'en vouloir le plus plus récent, ou les N plus récents.
Les trucs a ne pas faire:
ls |
postprocesser ls (dans l'absolu)
| xargs
utiliser xargs sur un input qui n'a pas ete mis au bon format.
echo |
utiliser echo.
while read line
utiliser une boucle while read, utiliser read sans -r et sans changer IFS.
do ls -dt $line
variable non-quotee, pas de -- pour separer options des arguments.
| head -1; done |
xargs ls -dt | head -1
Ce deuxieme xargs peut tres bien lancer plusieurs ls et le resultat ne sera pas correct alors.
A la limite, on pouvait faire:
IFS=' ' set -f ls -dt -- $(ls -f | sed '/^toto/!d;s/./&/g' | xargs sh -c ' shift "$1" [ "$#" -eq 0 ] && exit ls -dt -- "$@" | head -1' 2 1) | head -1
ls | grep "^toto" | xargs echo |
while read line; do ls -dt $line | head -1; done |
xargs ls -dt | head -1
[...]
Je pense qu'il s'agit d'une blague qui rassemble un peu tous les
trucs a ne pas faire en shell.
Pourquoi « des trucs à ne pas faire » ? Bien sur, dans le cas présent,
il y avait plus simple, mais c'était pour dire que s'il y a trop de
donner pour être traité d'un coup par une commande, il y a toujours
possibilité de les traiter par blocs. Il m'est déjà arrivé d'avoir une
liste de fichier non triée par date, et d'en vouloir le plus plus
récent, ou les N plus récents.
Les trucs a ne pas faire:
ls |
postprocesser ls (dans l'absolu)
| xargs
utiliser xargs sur un input qui n'a pas ete mis au bon format.
echo |
utiliser echo.
while read line
utiliser une boucle while read, utiliser read sans -r et sans
changer IFS.
do ls -dt $line
variable non-quotee, pas de -- pour separer options des
arguments.
| head -1; done |
xargs ls -dt | head -1
Ce deuxieme xargs peut tres bien lancer plusieurs ls et le
resultat ne sera pas correct alors.
A la limite, on pouvait faire:
IFS='
'
set -f
ls -dt -- $(ls -f | sed '/^toto/!d;s/./\&/g' | xargs sh -c '
shift "$1"
[ "$#" -eq 0 ] && exit
ls -dt -- "$@" | head -1' 2 1) | head -1
ls | grep "^toto" | xargs echo | while read line; do ls -dt $line | head -1; done | xargs ls -dt | head -1 [...]
Je pense qu'il s'agit d'une blague qui rassemble un peu tous les trucs a ne pas faire en shell.
Pourquoi « des trucs à ne pas faire » ? Bien sur, dans le cas présent, il y avait plus simple, mais c'était pour dire que s'il y a trop de donner pour être traité d'un coup par une commande, il y a toujours possibilité de les traiter par blocs. Il m'est déjà arrivé d'avoir une liste de fichier non triée par date, et d'en vouloir le plus plus récent, ou les N plus récents.
Les trucs a ne pas faire:
ls |
postprocesser ls (dans l'absolu)
| xargs
utiliser xargs sur un input qui n'a pas ete mis au bon format.
echo |
utiliser echo.
while read line
utiliser une boucle while read, utiliser read sans -r et sans changer IFS.
do ls -dt $line
variable non-quotee, pas de -- pour separer options des arguments.
| head -1; done |
xargs ls -dt | head -1
Ce deuxieme xargs peut tres bien lancer plusieurs ls et le resultat ne sera pas correct alors.
A la limite, on pouvait faire:
IFS=' ' set -f ls -dt -- $(ls -f | sed '/^toto/!d;s/./&/g' | xargs sh -c ' shift "$1" [ "$#" -eq 0 ] && exit ls -dt -- "$@" | head -1' 2 1) | head -1