|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : juillet 2003 Messages : 400 ![]() |
bonjour ,
j'ai des fichiers dont lles noms contiennet la date sous format : anmoisjour exemple D060410.log ; je veux récupere la dernière ligne du fichier le plus récent : pour cela j'exécute la commande suivante : je ne sais pas pourkoi parfois ca donne un résultat bizarre , le cat ne se fait pas correctement , il m'affiche une ligne qui appartient à un fichier au milieu .. qqun a une idée ?? je ne sais pas si c clair
__________________
;-) cordialement |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : janvier 2003 Messages : 2 620 ![]() |
Hello
Je comprend pas pourquo itu fais un cat. Un devrait suffir, non ? @++
__________________
GLDavid Consultez la FAQ Perl ainsi que mes cours de Perl. N'oubliez pas les balises code ni le tag ![]() Je ne répond à aucune question technique par MP. |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : juillet 2003 Messages : 400 ![]() |
non j'ai plain de fichiers ..... (D060401.log , D060402.log .... )
meme plus d'une centaine ... donc je veux récupérer la dernière ligne du fichier le plus recent
__________________
;-) cordialement |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : mai 2004 Messages : 376 ![]() |
PArce que cat te les classes dans l'ordre ... j'y crois pas trop !
Pour le tail, tu devrais faire comme te l'a indiqué GLDavid. Pour ce qui est de récupérer le fichier le plus récent, tu devrais utiliser find. |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : janvier 2005 Messages : 60 ![]() |
Tu peux faire ça même si ce n'est pas le plus propre!
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : juillet 2003 Messages : 400 ![]() |
bonjour ,
effectivement , la commande me fourni le bon résultat : mais est ce que je peux donner confiance à cette commande plus que la commande cat
__________________
;-) cordialement |
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Inscription : septembre 2004 Messages : 2 180 ![]() |
Citation:
Une première preuve : cela fonctionne, alors qu'avec cat, ce que tu veux faire ne fonctionne pas Une seconde preuve : il suffit d'analyser le fonctionnement de la commande qui t'a été indiquée : et dont une autre écriture plus "moderne" (compatible POSIX) serait : Il suffit alors de consulter les mans des commandes respectives : ls, tail et [url=http://man.developpez.com/man1/head.1.php#L1[/url] Ainsi, le ls sort les noms de fichiers par ordre de date, les plus récents en premier. Puis, le head ne prend que la première ligne de cette liste. Le tout, entre backquotes ou entre $( ), permet de passer ce dernier résultat (le nom du fichier le plus récent) à tail qui en affiche la dernière ligne du contenu, seulement. Ce fonctionnement ne laisse pas la place à la fantaisie L'enchainement de commandes qui t'a été fourni est donc totalement digne de confiance ! Tu pourras donc marquer ton sujet comme étant résolu
__________________
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com