GNU/Linux >> Tutoriels Linux >  >> Linux

Récupérer les journaux des 100 dernières lignes

Regardez, le script sed qui imprime les 100 dernières lignes que vous pouvez trouver dans la documentation de sed (https://www.gnu.org/software/sed/manual/sed.html#tail) :

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename

Pour moi, c'est beaucoup plus difficile que votre script, donc

tail -n 100 logfilename

est beaucoup plus simple. Et c'est assez efficace, il ne lira pas tous les fichiers si ce n'est pas nécessaire. Voir ma réponse avec le rapport strace pour tail ./huge-file :https://unix.stackexchange.com/questions/102905/does-tail-read-the-whole-file/102910#102910


Vous pouvez simplement utiliser la commande suivante :-

queue -NUMBER_OF_LINES FILE_NAME

par exemple tail -100 test.log

  • va récupérer les 100 dernières lignes de test.log

Dans le cas où, si vous voulez la sortie de ce qui précède dans un fichier séparé, vous pouvez diriger comme suit :-

tail -NUMBER_OF_LINES FILE_NAME> OUTPUT_FILE_NAME

par exemple tail -100 test.log > output.log

  • va récupérer les 100 dernières lignes de test.log et les stocker dans un nouveau fichier output.log)

Vous pouvez utiliser la commande tail comme suit :

tail -100 <log file>   > newLogfile

Désormais, les 100 dernières lignes seront présentes dans newLogfile

MODIF :

Les versions plus récentes de tail comme mentionné par twalberg utilisent la commande :

tail -n 100 <log file>   > newLogfile

"tail" est une commande pour afficher la dernière partie d'un fichier, l'utilisation des commutateurs disponibles appropriés nous aide à obtenir une sortie plus spécifique. le commutateur le plus utilisé pour moi est -n et -f

SYNOPSIS

queue [-F | -f | -r] [-q] [-b nombre | -c nombre | -n nombre] [fichier ...]

Ici

-n nombre :L'emplacement est numéroté des lignes.

-f :L'option -f empêche la queue de s'arrêter lorsque la fin du fichier est atteinte, mais plutôt d'attendre que des données supplémentaires soient ajoutées à l'entrée. L'option -f est ignorée si l'entrée standard est un tube, mais pas si c'est un FIFO.

Récupérer les journaux des 100 dernières lignes

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>

Linux
  1. Comment utiliser la commande tail pour voir les journaux en temps réel

  2. Comment supprimer les premières/dernières lignes 'n' de la sortie de la commande dans Shell ?

  3. Shell teste si la chaîne de plusieurs lignes contient le modèle spécifié dans la dernière ligne ?

  4. Comment utiliser sed pour supprimer les n dernières lignes d'un fichier

  5. Supprimez efficacement les deux dernières lignes d'un fichier texte extrêmement volumineux

3 façons de regarder les journaux en temps réel sous Linux

Comment imprimer la dernière ligne d'un fichier compressé gz dans la ligne de commande ?

Lignes Grep commençant par 1, mais pas 10, 11, 100, etc.

Utiliser tail pour suivre un fichier sans afficher les lignes les plus récentes

Surveillez en permanence les journaux avec queue qui sont parfois tournés

Queue de couleur des journaux Apache