Modifier les arguments d'une boucle for [Résolu][ksh] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 07-04-2011 à 16:57:06
Tu es passé sur quoi comme machine pour ne plus avoir l'option -d sur date ?
Marsh Posté le 08-04-2011 à 11:16:25
Pour moi le plus simple : utiliser perl :
perl -e '($a,$b,$c,$d,$e,$f,$g,$h,$i)=localtime(time-86400*5);printf"%d%02d%02d\n",$f+1900,$e+1,$d'
86400*5 représentant le nombre de jours de décalage.
Marsh Posté le 11-04-2011 à 14:20:06
Au final, j'ai utilisé ma boucle for en passant les dates par un fichier texte temporaire.
Mais niveau propreté par rapport à ta commande Perl, c'est le Grand Canyon... ^^"
Je vais triturer ta commande dans tous les sens pour voir, ça peut me servir ailleurs, pour d'autres formats de dates.
Merci !
Marsh Posté le 07-04-2011 à 14:27:28
Bonjour à tous,
Pour un script d'analyse de logs, j'ai besoin de trier des fichiers de logs, par mois, selon leur date.
En gros, logs de moins d'un moins, logs de un à deux mois...
Pour cela, je veux une variable contenant la date d'il y a 1, 2 ou 3 mois sous la forme AAAMMJJ.
Cela fonctionne, mais pour cela j'utilise la fonction date avec l'option -d. Or j'ai changé de machine et cette option n'existe pas sur celle-ci.
J'ai alors modifié mon script de façon à faire sans cette option. J'obtiens ceci :
Ma boucle for fonctionne bien, mais je n'arrive pas à sortir le résultat... Je ne sais pas si on peut modifier l'argument de la boucle pour qu'il soit utilisable plus tard. J'ai cherché sur le net, mais je n'ai rien trouvé.
Ma question : y'a-t-il une solution pour sortir mes trois argument de ma boucle ? Sinon, comment faire autrement ?
Merci de votre aide !
Message édité par NegroTruc le 11-04-2011 à 14:27:25