Mise à jour : Debian Bullseye 11.2
Sommaire
Fichier démo
$ rm -f file; for i in {1..100}; do echo "*** $i">>file; done
$ cat file
*** 1
*** 2
*** 3
...
*** 97
*** 98
*** 99
*** 100
Affichage des 10 premières lignes
$ head file
*** 1
*** 2
*** 3
*** 4
*** 5
*** 6
*** 7
*** 8
*** 9
*** 10
Affichage des 3 (N) premières lignes - Note : le signe - peut-être omis s'il est suivi d'un nombre, pas s'il est suivi d'un champ nécessitant une expansion
$ head -3 file
*** 1
*** 2
*** 3
$ N=3
$ head -n $N file
*** 1
*** 2
*** 3
Affichage de toutes les lignes sauf les 98 (N) dernières - Utiliser le signe - devant le nombre de lignes à ne pas afficher
$ head -n -98 file
*** 1
*** 2
$ N=98
$ head -n -$N file
*** 1
*** 2
b 512
K 1024
M 1024*1024
G 1024x1024x1024
...
KB 1000
MB 1000x1000
GB 100x1000x1000
$ echo -n 0123456789ABCDEF0123456789ABCDEF >file
$ hexdump -C file
00000000 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 |0123456789ABCDEF|
*
00000020
$ head -c 10 file
0123456789$
$ N=10
head -c $N file
0123456789$
head -c -24 file
01234567
Affichage des 10 dernières lignes
$ tail file
*** 91
*** 92
*** 93
*** 94
*** 95
*** 96
*** 97
*** 98
*** 99
*** 100
Affichage des 3 (N) dernières lignes
$ tail -n 3 file
*** 98
*** 99
*** 100
Affichage des dernières lignes à partir de la ligne 96 (N) - Utiliser le signe + devant le numéro de la ligne de départ
tail -n +96 file
*** 96
*** 97
*** 98
*** 99
*** 100
Affichage des 10 dernières lignes d'un fichier, puis ajout des lignes supplémentaires au fur et à mesure de leur apparition
$ sudo tail -f /var/log/daemon.log
$ sudo watch tail -n 5 /var/log/messages
$ cat file
0123456789ABCDEF0123456789ABCDEF
$ tail -c 2 file
EF
$ tail -c +1 file
0123456789ABCDEF0123456789ABCDEF$
$ tail -c +31 file
EF
$ sudo tail -c +513 /dev/sda |hexdump -C
...
$ head -n 50 file
*** 1
*** 2
*** 3
...
*** 49
$ head -n 50 file |tail -n +44
*** 44
*** 45
*** 46
*** 47
*** 48
*** 49
*** 50
$ tail -n +44 file
*** 44
*** 45
*** 46
...
*** 99
*** 100
$ tail -n +44 file |head -n 6
*** 44
*** 45
*** 46
*** 47
*** 48
*** 49
*** 50
$ head -c 16 file |tail -c +10
9ABCDEF
$ Affichage -c +10 |head -c 7
9ABCDEF