Débutant

Maîtriser paste, tr et column en ligne de commande

Apprenez à reformater des fichiers texte avec paste, tr et column pour produire des sorties tabulaires propres en ligne de commande Linux.

Maîtriser paste, tr et column en ligne de commande
Difficulté
Facile

Quand un fichier texte est mal délimité, trop compact ou difficile à lire, quelques commandes Unix suffisent souvent à le remettre en forme. Le trio paste, tr et column est particulièrement utile pour transformer rapidement des données simples en sorties tabulaires propres.

Dans ce tutoriel, vous allez manipuler de petits fichiers texte depuis le terminal Linux. L’objectif est pratique : partir de données peu lisibles, les réorganiser, puis les afficher clairement sans passer par un tableur.

Prérequis

  • Savoir ouvrir un terminal Linux.
  • Connaître les commandes de base comme cat, printf et la redirection >.
  • Disposer d’un système où paste et tr sont installés. column est souvent disponible aussi, mais sa présence dépend de l’environnement.

Matériel nécessaire

  • Un terminal Linux
  • Les commandes paste, tr et column
  • Un éditeur de texte ou la commande printf

Étapes

  1. Créer des fichiers de test simples

    Commencez par créer un dossier de travail, puis deux fichiers très simples contenant des prénoms et des rôles. Exécutez :

    mkdir -p ~/demo-paste-tr-column
    cd ~/demo-paste-tr-column
    printf 'Alice\nBob\nChloé\n' > prenoms.txt
    printf 'Admin\nSupport\nDev\n' > roles.txt

    Affichez ensuite leur contenu pour vérifier que chaque valeur occupe bien une ligne. Utilisez par exemple :

    cat prenoms.txt
    cat roles.txt
  2. Fusionner des fichiers colonne par colonne avec paste

    Assemblez maintenant les deux fichiers en une seule sortie tabulaire. Lancez :

    paste prenoms.txt roles.txt

    Vous obtenez deux colonnes, séparées par une tabulation. Pour enregistrer le résultat, redirigez la sortie vers un nouveau fichier :

    paste prenoms.txt roles.txt > utilisateurs.tsv
  3. Changer le séparateur produit par paste

    Par défaut, paste insère une tabulation entre les colonnes. Si vous préférez un autre séparateur, utilisez l’option -d :

    paste -d ':' prenoms.txt roles.txt
    paste -d ',' prenoms.txt roles.txt

    Cette méthode est utile pour produire rapidement une sortie plus proche d’un format attendu par un autre outil. Vous pouvez ensuite enregistrer le résultat dans un fichier dédié.

  4. Assembler plusieurs lignes en une seule avec paste

    paste ne sert pas seulement à coller plusieurs fichiers côte à côte. Il peut aussi relire un seul fichier et regrouper plusieurs lignes sur une même ligne avec l’option -s :

    paste -s -d ',' prenoms.txt

    Vous obtenez une seule ligne contenant les prénoms séparés par des virgules. C’est pratique pour produire rapidement une liste compacte à partir d’un fichier vertical.

  5. Fabriquer un fichier mal délimité à nettoyer

    Écran d’ordinateur sur un bureau montrant des lignes de données mal séparées dans une fenêtre de terminal, avec un clavier au premier plan.

    Créez maintenant un fichier volontairement peu lisible afin de pratiquer tr et column. Exécutez :

    printf 'nom,service,poste\nAlice,infra,admin\nBob,support,technicien\nChloé,dev,backend\n' > equipe.csv

    Affichez-le avec cat. Le contenu est correct, mais sa lecture reste peu confortable dans un terminal brut, surtout si les longueurs varient.

  6. Remplacer des caractères avec tr

    Mains sur un clavier devant un écran montrant des données en cours de nettoyage dans une fenêtre de terminal.

    Utilisez tr pour remplacer les virgules par des tabulations. Lancez :

    tr ',' '\t' < equipe.csv

    La sortie passe par l’entrée standard, sans modifier le fichier d’origine. Pour conserver le résultat, redirigez-le vers un autre fichier :

    tr ',' '\t' < equipe.csv > equipe.tsv
  7. Supprimer des caractères inutiles avec tr

    tr sait aussi supprimer des caractères avec l’option -d. Créez un petit exemple, puis nettoyez-le :

    printf 'Alice;\nBob;\nChloé;\n' > noms-bruit.txt
    tr -d ';' < noms-bruit.txt

    Vous obtenez les mêmes lignes sans le caractère final superflu. Cette étape est utile quand un fichier contient un bruit répétitif simple à enlever avant un affichage plus propre.

  8. Compacter des espaces répétés avec tr

    Les fichiers texte récupérés depuis un copier-coller contiennent parfois plusieurs espaces consécutifs. Vous pouvez les réduire avec l’option -s, qui compresse les répétitions d’un même caractère :

    printf 'nom    service    poste\nAlice    infra    admin\n' > espaces.txt
    tr -s ' ' < espaces.txt

    Le résultat garde les espaces, mais supprime leurs répétitions inutiles. Cela peut simplifier une étape de nettoyage avant un affichage final.

  9. Afficher un tableau lisible avec column

    Écran d’ordinateur affichant des colonnes bien alignées dans une fenêtre de terminal, avec un clavier sur un bureau sobre.

    À partir du fichier CSV créé plus haut, produisez un affichage tabulaire lisible avec column. Exécutez :

    column -s ',' -t equipe.csv

    L’option -s indique le séparateur d’entrée, et -t demande un alignement en colonnes. Le contenu devient bien plus confortable à lire dans le terminal.

  10. Chaîner tr et column dans un pipeline

    Combinez maintenant les commandes pour nettoyer puis aligner une sortie en une seule ligne de travail. Par exemple :

    tr ',' '\t' < equipe.csv | column -t

    Ici, tr remplace les virgules par des tabulations, puis column aligne le résultat. Le pipeline est pratique quand vous voulez tester une transformation sans créer immédiatement un nouveau fichier.

  11. Ajouter un en-tête avant de formater la sortie

    Pour rendre un affichage encore plus clair, ajoutez un en-tête avant de passer le tout à column. Vous pouvez utiliser un groupe de commandes :

    ({ printf 'nom,service,poste\n'; cat equipe.csv; }) | column -s ',' -t

    Cette approche est utile si votre source n’a pas encore de première ligne descriptive. Le résultat reste temporaire tant que vous ne redirigez pas la sortie vers un fichier.

  12. Enregistrer un résultat propre pour le réutiliser

    Quand la sortie vous convient, enregistrez-la dans un fichier distinct plutôt que d’écraser la source. Par exemple :

    column -s ',' -t equipe.csv > equipe-table.txt

    Vous obtenez une version lisible pour consultation dans le terminal ou partage rapide. Garder la source intacte permet de refaire la transformation avec d’autres options si nécessaire.

  13. Comparer plusieurs approches sur le même fichier

    Terminez en comparant trois affichages du même contenu. Essayez successivement :

    cat equipe.csv
    tr ',' '\t' < equipe.csv
    column -s ',' -t equipe.csv

    Vous verrez clairement la différence entre afficher brut, convertir des séparateurs et aligner visuellement des colonnes. Cette comparaison aide à choisir la bonne commande selon le besoin réel.

Erreurs fréquentes & dépannage

  • Confondre transformation et affichage. column sert surtout à présenter proprement une sortie dans le terminal. Pour changer des caractères dans les données, utilisez plutôt tr ou un autre outil adapté.

  • Utiliser un séparateur déjà présent dans les données. Avec paste -d ou column -s, un mauvais séparateur rend la lecture ambiguë. Inspectez toujours quelques lignes avant de choisir.

  • Écraser un fichier source par mégarde. Préférez rediriger vers un nouveau nom de fichier. Cela permet de refaire vos essais sans perdre le contenu d’origine.

  • Oublier que tr agit caractère par caractère. Si votre problème concerne une structure plus complexe que de simples remplacements, le résultat peut ne pas correspondre à votre attente.

  • Supposer que column est disponible partout. Selon le système ou l’environnement, la commande peut manquer. Vérifiez sa présence avant de construire votre routine autour d’elle.

Astuces & pour aller plus loin

  • Testez toujours vos pipelines directement à l’écran avant de rediriger vers un fichier. Vous verrez immédiatement si le séparateur ou l’alignement est correct.

  • Créez de petits fichiers d’exemple avec printf pour comprendre une commande isolément. Une fois le comportement compris, appliquez-la à vos fichiers réels.

  • Gardez en tête une logique simple : paste assemble, tr remplace ou supprime, column aligne l’affichage. Cette règle suffit à choisir rapidement le bon outil dans beaucoup de cas débutants.

Questions fréquentes

À quoi sert paste par rapport à cat ?

cat affiche le contenu des fichiers les uns à la suite des autres. paste, lui, combine des lignes correspondantes sur une même ligne pour former des colonnes.

Est-ce que tr modifie directement le fichier d’entrée ?

Non, tr écrit son résultat sur la sortie standard. Pour conserver la transformation, il faut rediriger la sortie vers un autre fichier.

Quand utiliser column ?

Utilisez column quand vous voulez rendre une sortie plus lisible dans le terminal, surtout avec des données séparées par un caractère régulier comme la virgule ou la tabulation.

Puis-je utiliser paste avec plus de deux fichiers ?

Oui, paste peut recevoir plusieurs fichiers en arguments. Il ajoute alors une colonne par fichier, ligne par ligne.

Pourquoi mon tableau reste-t-il irrégulier après tr -s ' ' ?

Parce que cette commande compacte seulement les répétitions d’espaces. Si vos colonnes dépendent d’un mélange d’espaces et de tabulations, il faut d’abord vérifier la nature réelle des séparateurs.

Conclusion

Avec paste, tr et column, vous disposez d’un petit kit très efficace pour remettre en forme des fichiers texte depuis le terminal. Ces commandes sont simples, complémentaires et suffisantes pour de nombreux besoins de lecture, de nettoyage léger et de présentation tabulaire.

Le plus important est de bien distinguer leur rôle : assembler des lignes, transformer des caractères, puis aligner l’affichage. En les testant sur de petits fichiers d’exemple, vous gagnerez vite des réflexes utiles pour manipuler des données textuelles au quotidien.

Commentaires · Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire