Linoux

  Accueil

Zoom   

Accueil > Administration > Shell > Head - Tail
Echo - Tee - Cat - Head - Tail
LinuxInfo
Dezoom

Head - Tail


Head : Affichage des premières lignes d'un fichier

Tail : Affichage des dernières lignes d'un fichier

Mise à jour : Debian 9.0

1 - Head

$ cat test.txt 
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
ligne 11
ligne 12
$ head test.txt
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
$ head -n 3 test.txt 
ligne 1
ligne 2
ligne 3
$ head -n -8 test.txt 
ligne 1
ligne 2
ligne 3
ligne 4

2 - Tail

2.1 - Affichage des dernières lignes

$ cat test.txt 
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
ligne 11
ligne 12
$ tail test.txt 
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
ligne 11
ligne 12
$ tail -n3 test.txt 
ligne 10
ligne 11
ligne 12
tail -n+6 test.txt 
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
ligne 11
ligne 12

2.2 - Affichage des dernières lignes en temps réél

# tail -f /var/log/daemon.log
Mar 28 16:38:10 asus thermald[601]: Read set point 0
Mar 28 16:38:26 asus thermald[601]: Read set point 0
Mar 28 16:38:34 asus thermald[601]: Read set point 0
Mar 28 16:38:42 asus thermald[601]: Read set point 0
Mar 28 16:38:58 asus thermald[601]: Read set point 0
Mar 28 16:39:22 asus thermald[601]: Read set point 0
Mar 28 16:41:22 asus thermald[601]: Read set point 0
Mar 28 16:41:38 asus thermald[601]: Read set point 0
Mar 28 16:41:54 asus thermald[601]: Read set point 0
Mar 28 16:45:54 asus thermald[601]: Read set point 0
Mar 28 16:46:06 asus thermald[601]: Read set point 0
Mar 28 16:46:22 asus thermald[601]: Read set point 0
# watch tail -n5 /var/log/message
Every 2,0s: tail /var/log/messages

Oct 21 10:47:00 asus kernel: [ 4123.035274] sd 6:0:0:0: [sdb] 1465149168 512-byte logical blocks: (750 GB/699 GiB)
Oct 21 10:47:00 asus kernel: [ 4123.036710] sd 6:0:0:0: [sdb] Write Protect is off
Oct 21 10:47:00 asus kernel: [ 4123.065318] sdb: sdb1
Oct 21 10:47:00 asus kernel: [ 4123.069282] sd 6:0:0:0: [sdb] Attached SCSI disk
Oct 21 10:49:38 asus kernel: [ 4280.723761] perf: interrupt took too long (10138 > 9336), lowering kernel.perf_event_max_sample_rate to 19500

2.3 - Utilisation dans un script

Le script ci-dessous :

$ cat -n scriptail 
1 #! /usr/bin/env bash
2 exec tail -n +3 $0
3 # Tout le texte à partir de la troisième ligne du script (celle-ci)
4 (-n +3) sera affiché, sans expansion
5 date
6 $(uname -r)

affiche lorsqu'il est exécuté, son contenu à partir de la ligne 3

$ bash ./scriptail 
# Tout le texte à partir de la troisième ligne du script (celle-ci)
(-n +3) sera affiché, sans expansion
date
$(uname -r)

Avec le même exemple :

$ bash scriptail >fichiertail

$ cat fichiertail
# Tout le texte à partir de la troisième ligne du script (celle-ci)
(-n +3) sera affiché, sans expansion
date
$(uname -r)