GNU/Linux >> Tutoriels Linux >  >> Linux

Imprimer un fichier, en sautant les X premières lignes, dans Bash

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.


Linux
  1. Pourquoi le script Bash ne reconnaît-il pas les alias ?

  2. La fête ?

  3. Concaténer des lignes en fonction du premier caractère de la ligne suivante ?

  4. Tail lit-il tout le fichier ?

  5. Supprimer les lignes d'en-tête supplémentaires du fichier, à l'exception de la première ligne ?

Comment imprimer des lignes dupliquées dans un fichier texte sous Linux

5 façons de compter le nombre de lignes dans un fichier

Comment lire la dernière ligne d'un fichier texte dans une variable à l'aide de Bash ?

Supprimer les N premières lignes d'un fichier journal actif

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

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