Signaler

Commande tail sous Ubuntu [Résolu]

Posez votre question CrazyGeekMan 308Messages postés dimanche 1 novembre 2015Date d'inscription 27 septembre 2016 Dernière intervention - Dernière réponse le 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 
Utile
+0
moins plus
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 308Messages postés dimanche 1 novembre 2015Date d'inscription 27 septembre 2016 Dernière intervention - 23 sept. 2016 à 17:49
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?
Répondre
CrazyGeekMan 308Messages postés dimanche 1 novembre 2015Date d'inscription 27 septembre 2016 Dernière intervention - 23 sept. 2016 à 17:49
Ce ne sont pas des opérateurs logiques?
Répondre
geokie 270Messages postés mardi 1 décembre 2009Date d'inscription 24 septembre 2016 Dernière intervention - 23 sept. 2016 à 23:31
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 :)
Répondre
CrazyGeekMan 308Messages postés dimanche 1 novembre 2015Date d'inscription 27 septembre 2016 Dernière intervention - 24 sept. 2016 à 11:32
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
Répondre
zipe31 33728Messages postés dimanche 7 novembre 2010Date d'inscription ContributeurStatut 26 septembre 2016 Dernière intervention CrazyGeekMan - 23 sept. 2016 à 17:51
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
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !