Linux : maîtriser cut, sort, uniq et wc sur des logs
Apprenez à utiliser cut, sort, uniq et wc pour extraire, trier, dédoublonner et compter des données dans des fichiers texte et des logs.

- Difficulté
- Facile
Quand un fichier texte grossit, la lecture visuelle ne suffit plus. En ligne de commande, quelques outils simples permettent déjà de transformer un log brut en informations exploitables.
Ce tutoriel montre comment combiner cut, sort, uniq et wc pour extraire des colonnes, trier des valeurs, supprimer les doublons et produire des comptes utiles. Les exemples restent volontairement concrets pour que vous puissiez les réutiliser sur vos propres fichiers.
Prérequis
Vous avez accès à un terminal Linux et à quelques fichiers texte ou logs de test. Les commandes présentées sont lancées en lecture seule sur les fichiers, sauf lorsque vous utilisez une redirection pour créer un nouveau fichier de résultat.
Il est préférable d’avoir un fichier avec des colonnes séparées par des espaces, des deux-points ou des virgules. Si votre format varie, adaptez simplement le séparateur et le numéro de champ utilisés dans les exemples.
Matériel nécessaire
- Un terminal Linux
- Un fichier texte ou un log de test
- Les commandes cut, sort, uniq et wc disponibles
Étapes
Ouvrir un fichier et repérer sa structure
Commencez par afficher quelques lignes pour identifier la forme du fichier. Par exemple, utilisez
head access.logouhead utilisateurs.csvpour voir les premières entrées.Repérez ensuite ce qui sépare les colonnes : espace, virgule, deux-points ou tabulation. Cette observation est essentielle, car
cuttravaille en fonction d’un délimiteur précis.Extraire une colonne avec cut

Une fois le séparateur identifié, isolez la colonne utile avec
cut. Pour un fichier CSV simple, vous pouvez par exemple lancercut -d',' -f1 utilisateurs.csvpour afficher uniquement la première colonne.Sur un fichier séparé par des deux-points, comme
/etc/passwd, la commandecut -d':' -f1 /etc/passwdextrait les noms d’utilisateurs. Vous obtenez ainsi une vue ciblée sans modifier le fichier d’origine.Compter le volume global avec wc
Avant d’aller plus loin, mesurez la taille logique du contenu. La commande
wc fichier.txtaffiche le nombre de lignes, de mots et d’octets du fichier.Pour un indicateur plus précis, utilisez une option ciblée comme
wc -l access.logpour compter les lignes. Sur un log où chaque ligne représente un événement, cela donne immédiatement l’ordre de grandeur de l’activité observée.Trier les valeurs avec sort
Après extraction, triez les résultats pour regrouper les valeurs identiques. Par exemple,
cut -d':' -f1 /etc/passwd | sortaffiche les noms dans l’ordre alphabétique.Le tri devient encore plus utile sur des colonnes répétitives, comme des adresses IP, des codes ou des noms. En regroupant les mêmes valeurs, vous préparez le terrain pour
uniq.Supprimer les doublons avec uniq
Une fois les lignes triées, utilisez
uniqpour ne garder qu’une seule occurrence de chaque valeur. Par exemple,cut -d':' -f1 /etc/passwd | sort | uniqliste des valeurs uniques.Cette approche est pratique pour obtenir rapidement l’inventaire des éléments présents dans un fichier. Sur des logs, elle peut servir à lister des hôtes, des niveaux ou des identifiants sans répétition.
Compter les occurrences avec uniq -c

Pour passer d’une simple liste à un début de statistique, ajoutez l’option
-c. La commandecut -d':' -f1 /etc/passwd | sort | uniq -caffiche chaque valeur précédée de son nombre d’occurrences.Sur un log, ce schéma aide à repérer immédiatement les valeurs les plus répétées. Vous pouvez ainsi voir si une même information apparaît rarement, régulièrement ou massivement.
Classer les fréquences pour faire ressortir les plus présentes
Une fois les occurrences comptées, retriez le résultat pour faire remonter les valeurs les plus nombreuses. Une chaîne classique est
cut -d':' -f1 /etc/passwd | sort | uniq -c | sort.Vous obtenez alors une liste ordonnée selon le contenu produit par
uniq -c. Même sur des fichiers simples, cela permet de distinguer les cas isolés des répétitions importantes.Mesurer une colonne extraite avec wc
Vous pouvez aussi compter seulement ce que vous avez extrait, plutôt que le fichier entier. Par exemple,
cut -d':' -f1 /etc/passwd | wc -lcompte le nombre de lignes produites par la première colonne.Cette méthode est utile pour valider qu’une extraction renvoie bien le volume attendu. Si le nombre semble incohérent, revenez au séparateur ou au numéro de champ.
Enchaîner les commandes pour analyser un log rapidement

Le vrai gain vient de la combinaison des outils dans une seule ligne. Sur un fichier structuré, le schéma
cut ... | sort | uniq -c | sortpermet d’extraire une colonne, de regrouper les valeurs identiques, de les compter puis de réordonner le tout.Adaptez simplement le séparateur et le champ à votre log. Cette manière de travailler convient bien à un premier diagnostic avant de passer à des outils plus spécialisés.
Enregistrer le résultat dans un nouveau fichier
Quand une sortie vous semble utile, redirigez-la vers un fichier pour la relire ou la partager. Par exemple,
cut -d':' -f1 /etc/passwd | sort | uniq > utilisateurs_uniques.txtcrée un nouveau fichier contenant le résultat.Vous pouvez ensuite compter ou retrier ce fichier comme n’importe quel autre. Cette étape évite de relancer plusieurs fois la même analyse de base.
Vérifier le résultat sur quelques lignes
Après chaque analyse, relisez un petit échantillon du résultat obtenu. Un simple
head utilisateurs_uniques.txtou l’affichage direct dans le terminal suffit souvent à confirmer que la bonne colonne a été traitée.Cette vérification rapide réduit les erreurs de lecture, surtout lorsque le format du log n’est pas parfaitement régulier. Mieux vaut corriger tôt que bâtir une conclusion sur un mauvais champ.
Erreurs fréquentes & dépannage
L’erreur la plus fréquente consiste à utiliser uniq sans trier les données auparavant. Dans ce cas, seules les répétitions déjà côte à côte sont fusionnées, ce qui fausse le résultat.
Un autre piège courant est de choisir un mauvais séparateur avec cut. Si le fichier contient des espaces variables ou des champs complexes, vérifiez toujours un extrait avant de conclure.
Enfin, évitez d’interpréter trop vite un comptage brut. Une colonne mal ciblée ou une structure irrégulière peut produire des chiffres corrects en apparence mais inutiles en pratique.
Astuces & pour aller plus loin
Commencez toujours par une commande courte et lisible, puis ajoutez un outil à la fois. Cette progression rend le pipeline plus facile à comprendre et à corriger.
Réutilisez un motif simple : extraire avec cut, trier avec sort, compter avec uniq -c, puis vérifier avec wc si besoin. Ce squelette couvre déjà beaucoup de besoins d’analyse rapide.
Si vous manipulez souvent le même type de log, conservez vos commandes dans un fichier texte personnel. Vous gagnerez du temps au prochain diagnostic.
Questions fréquentes
À quoi sert cut dans ce type d’analyse ?
cut sert à extraire un ou plusieurs champs d’une ligne selon un séparateur donné. C’est souvent la première étape pour isoler la donnée utile dans un fichier structuré.
Pourquoi faut-il souvent utiliser sort avant uniq ?
uniq compare les lignes consécutives. Le tri regroupe d’abord les valeurs identiques pour que uniq puisse réellement supprimer les doublons ou les compter.
Quand utiliser wc plutôt que uniq -c ?
wc sert à compter globalement des lignes, des mots ou des octets. uniq -c sert plutôt à compter les occurrences de chaque valeur après regroupement.
Peut-on appliquer ces commandes à des logs ?
Oui, si le log contient une structure exploitable, même simple. Il suffit d’identifier correctement le séparateur et la colonne qui vous intéresse.
Est-ce que ces commandes modifient le fichier d’origine ?
Non, elles lisent les fichiers et affichent un résultat dans le terminal. Le fichier source n’est pas modifié, sauf si vous redirigez volontairement une sortie vers un fichier cible distinct.
Conclusion
cut, sort, uniq et wc forment une boîte à outils très efficace pour lire autrement un fichier texte ou un log. Avec quelques commandes enchaînées, vous pouvez extraire une information, la résumer et faire ressortir les répétitions importantes.
Le plus utile n’est pas de mémoriser une syntaxe parfaite, mais de retenir la logique : isoler, trier, dédoublonner, compter, vérifier. Une fois ce réflexe acquis, l’analyse rapide de fichiers en ligne de commande devient beaucoup plus naturelle.