Débutant

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.

Linux : maîtriser cut, sort, uniq et wc sur 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

  1. Ouvrir un fichier et repérer sa structure

    Commencez par afficher quelques lignes pour identifier la forme du fichier. Par exemple, utilisez head access.log ou head utilisateurs.csv pour 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 cut travaille en fonction d’un délimiteur précis.

  2. Extraire une colonne avec cut

    Vue par-dessus l’épaule d’un ordinateur portable affichant un terminal sombre et des lignes structurées, avec une colonne visuellement mise en évidence pour illustrer une extraction de colonne.

    Une fois le séparateur identifié, isolez la colonne utile avec cut. Pour un fichier CSV simple, vous pouvez par exemple lancer cut -d',' -f1 utilisateurs.csv pour afficher uniquement la première colonne.

    Sur un fichier séparé par des deux-points, comme /etc/passwd, la commande cut -d':' -f1 /etc/passwd extrait les noms d’utilisateurs. Vous obtenez ainsi une vue ciblée sans modifier le fichier d’origine.

  3. Compter le volume global avec wc

    Avant d’aller plus loin, mesurez la taille logique du contenu. La commande wc fichier.txt affiche 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.log pour 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.

  4. Trier les valeurs avec sort

    Après extraction, triez les résultats pour regrouper les valeurs identiques. Par exemple, cut -d':' -f1 /etc/passwd | sort affiche 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.

  5. Supprimer les doublons avec uniq

    Une fois les lignes triées, utilisez uniq pour ne garder qu’une seule occurrence de chaque valeur. Par exemple, cut -d':' -f1 /etc/passwd | sort | uniq liste 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.

  6. Compter les occurrences avec uniq -c

    Gros plan sur un écran d’ordinateur montrant des lignes regroupées avec un bloc aligné devant chaque groupe pour illustrer le comptage d’occurrences.

    Pour passer d’une simple liste à un début de statistique, ajoutez l’option -c. La commande cut -d':' -f1 /etc/passwd | sort | uniq -c affiche 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.

  7. 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.

  8. 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 -l compte 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.

  9. Enchaîner les commandes pour analyser un log rapidement

    Vue latérale d’un ordinateur portable avec un terminal affichant une suite d’étapes enchaînées et un résultat empilé, pour illustrer une analyse rapide de logs.

    Le vrai gain vient de la combinaison des outils dans une seule ligne. Sur un fichier structuré, le schéma cut ... | sort | uniq -c | sort permet 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.

  10. 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.txt cré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.

  11. 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.txt ou 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.

Commentaires· Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire