Vous aurez besoin de queue. Quelques exemples :
$ tail great-big-file.log
< Last 10 lines of great-big-file.log >
Si vous avez vraiment besoin de SAUTER un certain nombre de "premières" lignes, utilisez
$ tail -n +<N+1> <filename>
< filename, excluding first N lines. >
Autrement dit, si vous voulez sauter N lignes, vous commencez à imprimer la ligne N+1. Exemple :
$ tail -n +11 /tmp/myfile
< /tmp/myfile, starting at line 11, or skipping the first 10 lines. >
Si vous voulez juste voir les dernières lignes, omettez le "+":
$ tail -n <N> <filename>
< last N lines of file. >
Le moyen le plus simple que j'ai trouvé pour supprimer les dix premières lignes d'un fichier :
$ sed 1,10d file.txt
Dans le cas général où X
est le nombre de lignes initiales à supprimer, merci aux commentateurs et aux éditeurs pour cela :
$ sed 1,Xd file.txt
Si vous souhaitez ignorer les deux premières lignes :
tail -n +3 <filename>
Si vous souhaitez ignorer la première x ligne :
tail -n +$((x+1)) <filename>
Si GNU tail est disponible sur votre système, vous pouvez effectuer les actions suivantes :
tail -n +1000001 huge-file.log
C'est le +
personnage qui fait ce que vous voulez. Pour citer la page de manuel :
Si le premier caractère de K (le nombre d'octets ou de lignes) est un '+', imprimer en commençant par le Kème élément à partir du début de chaque fichier.
Ainsi, comme indiqué dans le commentaire, mettre +1000001 commence l'impression avec le premier élément après les 1 000 000 premières lignes.