Skip to main content

Afficher le contenu du fichier au format colonne sous Linux

Ubuntu Episode 2 : EXTRAIRE, TRIER ET FILTRER DES DONNÉES (Avril 2025)

Ubuntu Episode 2 : EXTRAIRE, TRIER ET FILTRER DES DONNÉES (Avril 2025)
Anonim

Vous pouvez afficher un fichier délimité dans le terminal Linux afin que chaque élément délimité soit affiché dans sa propre colonne. Par exemple, voici un exemple de table de football de la Premier League anglaise qui utilise des tubes comme séparateurs.

pos | équipe | pld | pts 1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | arsenal | 30 | 55 4 | man city | 30 | 51 5 | west ham | 30 | 50 6 | man utd | 30 | 50 7 | southampton | 31 | 47 8 | stoke city | 31 | 46 9 | liverpool | 29 | 44 10 | Chelsea | 30 | 41

Cette liste comprend les 10 meilleures équipes, leurs noms, le nombre de matchs auxquels elles ont joué et le nombre de points marqués.

Il existe un certain nombre de commandes Linux que vous pouvez utiliser pour afficher les données dans la ligne de commande. Par exemple, le chat La commande affiche le fichier exactement tel qu'il apparaît dans le fichier. le queue Cette commande peut être utilisée pour afficher une partie du fichier ou son intégralité, de même que le tête commander. Cependant, aucune de ces commandes n’affiche le résultat d’une manière qui le rendra beau.

Idéalement, vous voulez pouvoir voir les données sans le symbole de tuyau et espacées. C'est là que le colonne la commande arrive.

Utilisation de base de la commande de colonne

Vous pouvez exécuter la commande de colonne sans aucun paramètre comme suit:

colonne

Cela fonctionne mieux avec des fichiers de mots avec des espaces entre les mots. cela ne fonctionne pas aussi bien avec les données tabulaires que dans cet exemple de tableau de classement.

La sortie est la suivante:

pos | équipe | pld | pts 2 | tottenham | 31 | 61 4 | man city | 30 | 51 6 | man utd | 30 | 50 8 | stoke city | 31 | 46 10 | Chelsea | 30 | 41 1 | leicester | 31 | 66 3 | arsenal | 30 | 55 5 | west ham | 30 | 50 7 | southampton | 31 | 47 9 | liverpool | 29 | 44

Spécifier la largeur de la colonne

Si vous connaissez la largeur des colonnes, vous pouvez utiliser la commande suivante pour séparer la colonne par largeur:

colonne -c

Par exemple, si vous savez que la largeur de chaque colonne est de 20 caractères, vous pouvez utiliser la commande suivante:

colonne -c20

Dans le cas du tableau de classement, cela ne fonctionne bien que si toutes les colonnes ont une certaine largeur. Pour le prouver, changez le fichier de classement comme suit:

pos équipe pld pts 1 leicester 31 66 2 tottenham 31 61 3 arsenal 30 55 4 man city 30 51 5 west ham 30 50 6 man utd 30 50 7 so'ton 31 47 8 stoke 31 46 9 liverpool 29 44 10 chelsea 30 41

Maintenant, en utilisant la commande suivante, vous pouvez obtenir une sortie décente:

colonne-c10 leaguetable

Le problème, c’est que les données du fichier avaient déjà l’air beau et que les commandes tail, head, nano ou cat pouvaient toutes afficher les mêmes informations de manière acceptable.

Spécification de séparateurs à l'aide de la commande de colonne

La meilleure façon d'utiliser la commande column sur une virgule, un canal ou d'autres fichiers délimités est la suivante:

colonne -s "|" -t

Le commutateur -s vous permet de déterminer le délimiteur à utiliser. Par exemple, si votre fichier est séparé par des virgules, vous pouvez insérer "," après le -s. Le commutateur -t affiche les données dans un format tabulaire.

Séparateurs de sortie

Jusqu'à présent, cet exemple a montré comment utiliser le délimiteur d'un fichier d'entrée, mais qu'en est-il des données lorsqu'elles sont affichées à l'écran.

La valeur par défaut de Linux est deux espaces, mais vous voudrez peut-être utiliser deux points. La commande suivante vous montre comment spécifier un séparateur de sortie:

colonne -s "|" -à"::"

Lorsqu'elle est utilisée avec le fichier de tableau de classement, la commande génère le résultat suivant:

pos :: team :: pld :: pts 1 :: leicester :: 31 :: 66 2 :: tottenham :: 31 :: 61 3 :: arsenal :: 30 :: 55 4 :: man city :: 30 :: 51 5 :: West Ham :: 30 :: 50 6 :: Man utd :: 30 :: 50 7 :: Southampton :: 31 :: 47 8 :: stoke city :: 31 :: 46 9 :: liverpool :: 29 :: 44 10 :: Chelsea :: 30 :: 41

Remplir les lignes avant les colonnes

Il existe un autre commutateur qui n'est pas particulièrement utile mais qui est inclus ici pour des raisons de complétude. Le commutateur -x, lorsqu'il est utilisé avec le commutateur -c, remplit les lignes précédant les colonnes.

Alors qu'est-ce que cela signifie? Regardez l'exemple suivant:

colonne -c100 leaguetable

La sortie de ceci serait la suivante:

pos | team | pld | pts 3 | arsenal | 30 | 55 6 | man utd | 30 | 50 9 | liverpool | 29 | 44 1 | leicester | 31 | 66 4 | man city | 30 | 51 7 | southampton | 31 | 47 10 | Chelsea | 30 | 41 2 | tottenham | 31 | 61 5 | jambon ouest | 30 | 50 8 | stoke city | 31 | 46

Comme vous pouvez le constater, il s’agit d’abord, puis de l’autre.

Regardons maintenant cet exemple:

colonne -c100 -x rangée

Cette fois, le résultat est le suivant:

pos | équipe | pld | pts 1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | arsenal | 30 | 55 4 | man city | 30 | 51 5 | west ham | 30 | 50 6 | man utd | 30 | 50 7 | southampton | 31 | 47 8 | stoke city | 31 | 46 9 | liverpool | 29 | 44 10 | Chelsea | 30 | 41

Les données sont affichées à l’écran puis descendent.

Autres interrupteurs

Les seuls autres commutateurs disponibles sont les suivants:

colonne -V

Ceci affiche la version de la colonne installée sur votre ordinateur.

colonne --help

Ceci affiche la page de manuel dans la fenêtre du terminal.