filtrer les fichiers plus vieux qu'un jour (solaris) - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 01-08-2008 à 10:05:41
Regarde le manpage de find (version solaris) pour faire ça de manière plus simple.
Marsh Posté le 01-08-2008 à 10:43:37
j'ai effectivement trouvé ça
find $mon fichier -atime -1
mais avec touch j'ai modifier la date de mes fichiers pour tester et ceux qui datent du 30 juillet apparaissent quand même...
Marsh Posté le 01-08-2008 à 10:50:00
atime c'est pas ce qu'il te faut... c'est mtime
Marsh Posté le 01-08-2008 à 11:32:08
d'accord est ce que tu sais à quoi cela correspond?
merci
au passage le find me fait des trucs bizzard, est ce que c'est possible qu'il se base sur une date de consultation du fichier plutôt qu'une date de modification?
Marsh Posté le 01-08-2008 à 13:24:41
oui, car j'ai lu le man de find.
Marsh Posté le 01-08-2008 à 13:43:33
black_lord a écrit : oui, car j'ai lu le man de find. |
moi aussi je te rassure, mais le find nous fait vraiment des trucs bizzare
je vais creuser du côté du perl alors
--
edit, je suis entrain de chercher, mais peut être que vous savez comment récupérer le nombre de secondes écoulées depuis 1970 en perl?
comme ça je le soustrai à $ctime et c'est bon
--
reedit : perl -e 'print time;'
Marsh Posté le 01-08-2008 à 13:54:02
dams78 a écrit : d'accord est ce que tu sais à quoi cela correspond? au passage le find me fait des trucs bizzard, est ce que c'est possible qu'il se base sur une date de consultation du fichier plutôt qu'une date de modification? |
dams78 a écrit :
|
http://www-inf.int-evry.fr/cours/U [...] ind.1.html
Citation : -atime n |
Citation : -mtime n |
Non il n'a pas un comportement bizarre.
Marsh Posté le 01-08-2008 à 13:59:06
j'ai trouvé ça :
perl -e '($atime,$mtime,$ctime)=(stat($ARGV[0]))[8..10];$ctime=time-$ctime;print "$ctime";' fichier
Marsh Posté le 01-08-2008 à 14:01:07
en fait si j'utilise le find cela plante sur notre serveur de préprod, donc je pense utiliser la fonction perl et faire un test pour chaque fichier
merci de votre aide en tout cas
Marsh Posté le 01-08-2008 à 14:01:40
réinventer la roue plutôt que de trouver pourquoi ça plante
Marsh Posté le 01-08-2008 à 14:09:52
on fait au plus pressé surtout...
pour info je peux vous mettre mon script :
Code :
|
le find se trouvait après le ls (qui permet d'avoir les fichiers dans l'ordre de création) on a supposé que c'était à cause de ça
Marsh Posté le 02-08-2008 à 12:01:59
Ben find est pas censé prendre une liste de fichiers en argument, mais un ou plusieurs repertoires où faire ses recherches.
Qui plus est il les prends en ligne de commande, et non pas sur l'entrée standard, alors faut pas s'étonner si un ls machin/ | find ... plante
Marsh Posté le 01-08-2008 à 09:55:39
bonjour,
je travaille sur un serveur solaris et je dois travailler sur des fichiers d'un dossier, seulement je ne dois prendre que les fichiers créés (ou modifiés) de moins d'un jour.
je pensais récupérer la date du fichier et la comparer avec la date du jour (en utilisant le nombre de secondes depuis 1970)
seulement la fonction date ne fonctionne pas avec l'argument %s (qui permet de récupérer ce nombre de secondes)
de plus pour récupérer la date du fichier je ne sais pas trop comment faire, j'ai trouvé un script perl, qui permet apparement d'obtenir les dates en secondes (description très vague, donc je ne comprend pas trop ce qu'il me retourne)
perl -e '($atime,$mtime,$ctime)=(stat($ARGV[0]))[8..10];print "$atime, $mtime, $ctime\n";' file_name
merci de votre aide
---------------
dam's (debianer), ma galerie Flickr