Skip to main content

3.1 - Lire un fichier avec cat, less, head et tail

Afficher un petit fichier

cat /etc/os-release
cat -n notes.txt           # numéroter les lignes

cat affiche tout le contenu d'un coup. Il convient aux petits fichiers, mais devient peu pratique pour un journal de plusieurs gigaoctets.

Assembler plusieurs fichiers :

cat partie1.txt partie2.txt > document-complet.txt

Parcourir avec less

less /var/log/syslog
less +F /var/log/syslog    # suivre les ajouts ; Ctrl+C pour revenir à less

Touches essentielles :

Touche Action
Espace / b page suivante / précédente
g / G début / fin
/erreur rechercher vers le bas
n / N occurrence suivante / précédente
F suivre les nouvelles lignes
q quitter

less ne charge pas nécessairement tout le fichier en mémoire et convient donc mieux aux gros fichiers.

Début et fin d'un fichier

head fichier.log
head -n 20 fichier.log
tail fichier.log
tail -n 50 fichier.log

Suivre un journal en direct :

tail -f application.log
tail -F application.log

-F continue de suivre le nom même si le fichier est recréé lors d'une rotation de journaux. Quitter avec Ctrl + C.

Extraire une plage de lignes

sed -n '20,40p' fichier.txt

Cette commande affiche les lignes 20 à 40 sans modifier le fichier.

Afficher les caractères invisibles

cat -A fichier.txt
sed -n 'l' fichier.txt

Utile pour repérer tabulations, espaces finaux et fins de ligne Windows.

Encodage et fins de ligne

file -i fichier.txt

Convertir un fichier Windows CRLF vers Linux LF si dos2unix est installé :

dos2unix script.sh

Avant de lancer un script téléchargé, l'afficher et l'examiner :

less script.sh
file script.sh

Afficher un fichier est normalement non destructif, mais son contenu peut comporter des séquences de terminal indésirables. Pour une source non fiable, less est souvent préférable à l'exécution ou au copier-coller aveugle.