Commande tail sous Ubuntu [Résolu/Fermé]

Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
- - Dernière réponse : CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
- 24 sept. 2016 à 11:32
Bonjour,

Alors voici ce que j'ai compris sur la commande tail : elle permet d'afficher les n dernières lignes d'un fichier avec -n comme option et n précisé en argument.
tail -n nbr_de_lignes fichier

Maintenant je médite sur quelque chose que je n'arrive pas à comprendre logiquement : soit le fichier txt qui possède 20 lignes :

tail -n 21 txt

cela affiche les 20 lignes
tail -n +1 txt

cela affiche les 20 lignes
Pas de soucis donc, hypothèse : le +1 se rajoute au nombre de lignes dont le fichier est constitué

tail -n 22 txt

cela affiche les 20 dernières lignes
Hypothèse vérifiée
tail -n +2 txt

Cela affiche les dernières lignes à partir de la 2ème ligne, mon hypothèse est fausse et je ne vois pas à quoi est rajouté ce +2...

Avec la définition on demande à afficher les +2 lignes à partir de la fin, donc les 2 dernières lignes de la fin, ce n'est pas encore le cas.

Alors comment interpréter ce +2 s'il vous plaît?
Merci pour vos futures réponses.
Afficher la suite 

1 réponse

Messages postés
37585
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
9 décembre 2019
4272
0
Merci
Salut,
Avec la définition on demande à afficher les +2 lignes à partir de la fin
Euh… non, avec
-n +2
on demande à afficher tout le fichier à partir de la 2nd ligne du fichier.

$ cat fich 
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
ligne 11
ligne 12
ligne 13
ligne 14
ligne 15
ligne 16
ligne 17
ligne 18
ligne 19
ligne 20

On affiche à partir de la ligne 15 :
$ tail -n +15 fich 
ligne 15
ligne 16
ligne 17
ligne 18
ligne 19
ligne 20

Pour afficher les 8 dernières lignes du fichier :
$ tail -n -8 fich 
ligne 13
ligne 14
ligne 15
ligne 16
ligne 17
ligne 18
ligne 19
ligne 20
CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
51 -
Mais pourquoi ne tapez-vous pas seulement :
tail -n 8 fich 


Mais donc + ou - ce ne sont pas des signes d'addition et de soustraction par rapport à quelque chose? Il faut juste l'admettre que + pour à partir d'une ligne du début?
CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
51 > CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
-
Ce ne sont pas des opérateurs logiques?
geokie
Messages postés
275
Date d'inscription
mardi 1 décembre 2009
Statut
Membre
Dernière intervention
28 février 2017
49 > CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
-
Extrait du manuel de tail (
man tail
) :
-n, --lines=[+]NUM
output the last NUM lines, instead of the last 10;
or use -n +NUM to output starting with line NUM


Traduction :
-n, --lines=[+]NUM
Renvoie les NUM dernières lignes, au-lieu des 1à dernières par défaut;
ou, lorsque utilisé avec -n +NUM, renvoie le contenu du fichier en commençant à partir de la ligne NUM

Pas d'histoire d'opérateur logique donc :)
CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
51 > geokie
Messages postés
275
Date d'inscription
mardi 1 décembre 2009
Statut
Membre
Dernière intervention
28 février 2017
-
O merci ! :)
D'accord c'est donc la syntaxe de la commande ^^
Bon je vais devoir prendre le reflex de regarder dans le catalogue man et je dois apprendre l'anglais :D
zipe31
Messages postés
37585
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
9 décembre 2019
4272 > CrazyGeekMan
Messages postés
820
Date d'inscription
dimanche 1 novembre 2015
Statut
Membre
Dernière intervention
8 décembre 2019
-
Oups erreur de copier/coller ;-((

$ tail -n 8 fich
ligne 13
ligne 14
ligne 15
ligne 16
ligne 17
ligne 18
ligne 19
ligne 20