[Ksh] inverser un fic pour le lire à l'envers

raoulglloq Messages postés 2 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Je voudrai lire un fichier à l'envers, de bas en haut.

J'utilise la fonction "while read line" qui ne semble pas le permettre.
Je pensai donc dans un premier temps inverser le fichier.

La commande sort possede l'option -r qui permet d'inverser le tri, cependant il effectue un tri alphanumerique en plus de l'inversion, ce que je ne veut pas, je veux juste inverser.

Or mon fichier est une log dont chaque ligne commence par "2006", je me demandait donc si il etat possible de restraindre le tri de la commande "sort" au premier caractère ("2"). Cependant l'option des clé ne permet pas de le permettre: il commence en effet par tri sur le caractere correspondant à la clé, mais il tri ensuite sur le reste.

Qqun a t'il une solution?
A voir également:

3 réponses

blux Messages postés 4928 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

si tu es sous AIX, la commande sort te permet de créer des clés disjointes...

Ex :
sort -t. -r -k3,3 -k2,2 -k 1,1
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

tu peux passer le résultat de sort dans un pipe |
sort -r fichier | perl -ne ' print if /^2006/'
lami20j
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,
tac le_fichier
;-))
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

alors là, chapeau ;) Je ne connaissais pas cette commande.

lami20j

P.S. En revanche s'il veut que les lignes qui commence avec 2006...
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut lami20j,

Chapeau à Adrien alors, c'est lui qui m'a enseigné cette commande dans un post. En plus elle est pas dure à se rappeler, c'est l'enverse de "cat" ;-))

Et pour le "PS", pas de soucis, je cite :"Je voudrai lire un fichier à l'envers, de bas en haut. " ;-))
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > jipicy Messages postés 41342 Statut Modérateur
 
Re,

Et pour le "PS", pas de soucis, je cite ....

Oui, tu as raison, mais moi j'ai lu plus bas ;)
Or mon fichier est une log dont chaque ligne commence par "2006", je me demandait donc si il etat possible de restraindre le tri de la commande "sort" au premier caractère ("2")

lami20j

P.S. Merci Adrien :-)
0
jipicy Messages postés 41342 Statut Modérateur 4 896 > jipicy Messages postés 41342 Statut Modérateur
 
Oui mais il fallait lire plus haut aussi :
La commande sort possede l'option -r qui permet d'inverser le tri, cependant il effectue un tri alphanumerique en plus de l'inversion, ce que je ne veut pas, je veux juste inverser.

;-))
0
blux Messages postés 4928 Date d'inscription   Statut Modérateur Dernière intervention   3 367 > jipicy Messages postés 41342 Statut Modérateur
 
C'est du pur Linux ? parce que sur mon AIX 5.2, je n'ai pas la commande...
0