J'ai besoin de récupérer les 100 dernières lignes de journaux du fichier journal. J'ai essayé la commande sed
sed -n -e '100,$p' logfilename
Veuillez me faire savoir comment puis-je modifier cette commande pour récupérer spécifiquement les 100 dernières lignes.
Réponses:
Vous pouvez utiliser la commande tail comme suit:
Les 100 dernières lignes seront maintenant présentes dans
newLogfile
ÉDITER:
Des versions plus récentes de tail telles que mentionnées par twalberg utilisent la commande:
la source
tail
nécessitent la syntaxetail -n 100 <filename>
...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 ):
Pour moi, c'est bien plus difficile que ton script alors
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
: /unix/102905/does-tail-read-the-whole-file/102910#102910la source
"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
Ici
Récupérer les journaux des 100 dernières lignes
la source
Je sais que c'est très ancien, mais, pour qui que ce soit, cela aide.
less +F my_log_file.log
c'est juste basique, avec moins, vous pouvez faire des choses beaucoup plus puissantes. une fois que vous commencez à voir les journaux, vous pouvez effectuer une recherche, aller au numéro de ligne, rechercher un modèle, bien plus encore, et c'est plus rapide pour les gros fichiers.
c'est comme vim pour les journaux [totalement mon avis]
documentation originale de less: https://linux.die.net/man/1/less
moins de feuille de triche: https://gist.github.com/glnds/8862214
la source
la première ligne prend la longueur (total des lignes) du fichier puis +1 dans le total des lignes après cela, nous devons récupérer 100 enregistrements donc, -99 de la longueur totale puis il suffit de mettre les variables dans la commande sed pour récupérer les 100 dernières lignes du fichier
J'espère que cela t'aidera.
la source