Aujourd'hui la question Comment récupérer rapidement les n dernières occurrences d'un motif dans un gros fichier texte ?
Car oui, j'ai mon fichier texte qui fait 15 Mo, je ne peux pas faire un tail parce qu'il faudrait prendre un certain nombre de lignes inconnu et ça pourrait ne pas marcher à tous les coups. Faire un grep sur le fichier avec un tail derrière, c'est long car on parcourt tout pour ne garder que les dernières occurences. La technique ?! Utiliser tac ! C'est comme cat mais à l'envers (mais ligne par ligne, il fait pas à l'envers complètement)
donc
linux :
tac $FICHIER | grep motif | head -n $NB_OCCURENCES
freebsd :
tail -r $FICHIER | grep motif | head -n $NB_OCCURENCES
(sous linux tac existe mais pas sous freebsd, sous freebsd tail peut faire tac avec -r mais le tail de linux n'a pas cette option)
Elles arriveront pas dans l'ordre, la première occurence étant la toute dernière, suffit de rajouter | tac pour remettre dans le bon ordre si nécessaire

Voilou !