Vous avez un fichier de log, un export CSV ou la sortie d’une commande — et vous avez besoin d’en extraire une information précise. Sous Linux, une poignée de commandes suffit : cut pour les colonnes, sort pour trier, uniq pour dédupliquer, wc pour compter, tr pour remplacer des caractères et diff pour comparer. Ce guide couvre les usages de base de chacune.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Extraire des colonnes avec
cut - Trier des lignes avec
sort - Dédupliquer avec
uniq - Compter lignes, mots et caractères avec
wc - Remplacer ou supprimer des caractères avec
tr - Comparer deux fichiers avec
diff - Découvrir
sedetawkpour aller plus loin
cut — extraire des colonnes
Section intitulée « cut — extraire des colonnes »cut découpe chaque ligne d’un fichier selon un séparateur et extrait les champs demandés.
Extraire un champ avec un séparateur
Section intitulée « Extraire un champ avec un séparateur »Le fichier /etc/passwd utilise : comme séparateur. Pour extraire uniquement les noms d’utilisateurs (premier champ) :
cut -d: -f1 /etc/passwdrootdaemonbinbob-d:: le séparateur est:-f1: extraire le champ n°1
Extraire plusieurs champs
Section intitulée « Extraire plusieurs champs »cut -d: -f1,6 /etc/passwdroot:/rootbob:/home/bobIci on récupère le nom (champ 1) et le répertoire home (champ 6).
Extraire par position de caractères
Section intitulée « Extraire par position de caractères »L’option -c extrait par position au lieu du séparateur :
echo "abcdefgh" | cut -c1-4abcdsort — trier des lignes
Section intitulée « sort — trier des lignes »sort trie les lignes d’un fichier par ordre alphabétique par défaut.
sort /etc/passwdTri numérique
Section intitulée « Tri numérique »Par défaut, sort trie comme du texte (« 9 » vient après « 10 »). Pour trier correctement des nombres :
sort -n fichier.txtTri inversé
Section intitulée « Tri inversé »sort -r fichier.txtTrier sur une colonne précise
Section intitulée « Trier sur une colonne précise »Pour trier un fichier CSV par la deuxième colonne :
sort -t',' -k2 fichier.csv-t',': le séparateur est,-k2: trier sur le champ 2
uniq — supprimer les doublons
Section intitulée « uniq — supprimer les doublons »uniq supprime les lignes consécutives identiques. C’est pourquoi on l’utilise presque toujours après sort :
sort fichier.txt | uniqCompter les occurrences
Section intitulée « Compter les occurrences »L’option -c affiche le nombre de répétitions devant chaque ligne :
sort fichier.txt | uniq -c 3 erreur 1 info 5 warningAfficher uniquement les doublons
Section intitulée « Afficher uniquement les doublons »sort fichier.txt | uniq -dwc — compter
Section intitulée « wc — compter »wc (word count) compte les lignes, les mots et les caractères.
wc /etc/passwd 42 64 2456 /etc/passwdLes trois nombres : 42 lignes, 64 mots, 2456 octets.
Compter uniquement les lignes
Section intitulée « Compter uniquement les lignes »wc -l /etc/passwdC’est l’option la plus utilisée — par exemple pour compter le nombre d’utilisateurs du système ou le nombre de fichiers dans un répertoire :
ls /etc | wc -lCompter les mots
Section intitulée « Compter les mots »wc -w fichier.txttr — remplacer ou supprimer des caractères
Section intitulée « tr — remplacer ou supprimer des caractères »tr (translate) transforme ou supprime des caractères. Il lit toujours depuis l’entrée standard (via un pipe ou une redirection).
Convertir majuscules en minuscules
Section intitulée « Convertir majuscules en minuscules »echo "HELLO WORLD" | tr 'A-Z' 'a-z'hello worldSupprimer des caractères
Section intitulée « Supprimer des caractères »L’option -d supprime toutes les occurrences du caractère indiqué :
echo "prix: 42,50 €" | tr -d ' 'prix:42,50€Remplacer un caractère par un autre
Section intitulée « Remplacer un caractère par un autre »echo "un;deux;trois" | tr ';' ','un,deux,troisdiff — comparer deux fichiers
Section intitulée « diff — comparer deux fichiers »diff montre les différences entre deux fichiers ligne par ligne. C’est la commande de base avant d’utiliser un outil comme Git.
diff fichier1.txt fichier2.txt2c2< banana---> banane2c2: la ligne 2 a changé (c = changed)<: contenu du premier fichier>: contenu du second fichier
Affichage côte à côte
Section intitulée « Affichage côte à côte »L’option -y affiche les deux fichiers en colonnes :
diff -y fichier1.txt fichier2.txtAffichage unifié (style Git)
Section intitulée « Affichage unifié (style Git) »diff -u fichier1.txt fichier2.txt--- fichier1.txt+++ fichier2.txt@@ -1,3 +1,3 @@ apple-banana+banane cherryC’est le format que vous retrouverez dans git diff.
sed — un premier aperçu
Section intitulée « sed — un premier aperçu »sed (Stream Editor) transforme du texte à la volée. C’est un outil très riche, mais pour débuter retenez cette syntaxe de remplacement :
sed 's/ancien/nouveau/' fichier.txtCette commande remplace la première occurrence de « ancien » par « nouveau » sur chaque ligne.
Remplacer toutes les occurrences
Section intitulée « Remplacer toutes les occurrences »Ajoutez g (global) :
sed 's/ancien/nouveau/g' fichier.txtModifier le fichier directement
Section intitulée « Modifier le fichier directement »L’option -i applique la modification dans le fichier (pas seulement à l’écran) :
sed -i 's/ancien/nouveau/g' fichier.txtPour aller plus loin avec sed, consultez le guide dédié à sed.
awk — un premier aperçu
Section intitulée « awk — un premier aperçu »awk est un outil de traitement de texte très puissant, spécialisé dans les données en colonnes. Pour débuter, retenez cette syntaxe :
awk '{print $1}' fichier.txt$1 désigne le premier champ (colonne), $2 le deuxième, etc. Par défaut, le séparateur est l’espace ou la tabulation.
Changer le séparateur
Section intitulée « Changer le séparateur »Pour un fichier CSV séparé par : (comme /etc/passwd) :
awk -F: '{print $1, $6}' /etc/passwdroot /rootbob /home/bobFiltrer des lignes
Section intitulée « Filtrer des lignes »awk -F: '$3 >= 1000 {print $1}' /etc/passwdCette commande affiche les noms d’utilisateurs dont l’UID (champ 3) est supérieur ou égal à 1000 — ce sont les utilisateurs « humains ».
Pour aller plus loin avec awk, consultez le guide dédié à awk.
Combiner les commandes : exemples pratiques
Section intitulée « Combiner les commandes : exemples pratiques »La force de ces outils, c’est la combinaison via le pipe. Voici quelques exemples courants :
Lister les utilisateurs triés
Section intitulée « Lister les utilisateurs triés »cut -d: -f1 /etc/passwd | sortLes 5 commandes les plus utilisées
Section intitulée « Les 5 commandes les plus utilisées »history | awk '{print $2}' | sort | uniq -c | sort -rn | head -n 5Compter les erreurs dans un log
Section intitulée « Compter les erreurs dans un log »grep -c "error" /var/log/syslogOu avec grep + wc :
grep "error" /var/log/syslog | wc -lDépannage
Section intitulée « Dépannage »| Problème | Cause probable | Solution |
|---|---|---|
cut : mauvais résultat | Mauvais séparateur (-d) | Vérifier le séparateur réel du fichier |
sort : les nombres sont mal triés | Tri alphabétique par défaut | Ajouter -n pour un tri numérique |
uniq ne supprime pas les doublons | Les lignes ne sont pas consécutives | Passer par sort avant uniq |
tr : tr: extra operand | Trop d’arguments | Vérifier que les jeux de caractères sont entre quotes |
sed -i : fichier corrompu | Substitution incorrecte | Tester sans -i d’abord, puis appliquer |
diff : pas de sortie | Les fichiers sont identiques | C’est normal — diff ne dit rien si tout est pareil |
À retenir
Section intitulée « À retenir »cutextrait des colonnes,sorttrie,uniqdéduplique,wccompte.trremplace ou supprime des caractères un par un.diffcompare deux fichiers — format-upour le style Git.sedetawksont plus puissants maiss/ancien/nouveau/get'{print $1}'suffisent pour commencer.- Ces commandes prennent tout leur sens quand elles sont enchaînées avec le pipe
|.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications