Tutoriel de commande de colonne Linux pour les débutants (avec des exemples)

Parfois, lorsque tu travailles en ligne de commande sous Linux, tu peux avoir envie d’afficher le contenu d’un fichier en format colonne. Tu seras heureux d’apprendre qu’il existe un utilitaire de ligne de commande dans Linux qui te permet de le faire. Le nom de l’outil est column, et nous allons discuter des bases de cette commande à l’aide de quelques exemples faciles à comprendre.

Mais avant cela, il est bon de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.

Commande column de Linux

La commande column de Linux te permet d’afficher des listes en colonnes. Voici sa syntaxe :

column [-entx] [-c columns] [-s sep] [file ...]

Et voici comment la page de manuel de l’outil la définit :

     The column utility formats its input into multiple columns.  Rows are
     filled before columns.  Input is taken from file operands, or, by
     default, from the standard input.

Voici quelques exemples de type Q&A qui devraient te donner une meilleure idée du fonctionnement de la commande column.

Q1. Comment utiliser la commande column ?

L’utilisation de base est assez simple. Suppose que tu aies un fichier nommé ‘test.txt’ qui contient les informations suivantes :

1
2
3
4
5
6
7
8
9
10

Maintenant, pour mettre en colonnes le contenu de ce fichier, utilise la commande column de la façon suivante :

column test.txt

Et tu obtiendras un résultat comme celui-ci :

1    2    3    4    5    6    7    8    9    10

Q2. Comment mettre en colonnes une sortie délimitée ?

Suppose qu’un fichier contienne le contenu suivant :

No.|Country|Yes/No
01|India|Y
02|US|Y
03|Australia|Y
04|China|N
05|Russia|Y
06|Japan|Y
07|Singapore|Y
08|South Korea|N
09|Finaland|Y
10|Ireland|Y

Maintenant, exécute la commande column de la façon suivante :

column test.txt -t -s "|"

Et voici la sortie produite :

No.  Country      Yes/No
01   India        Y
02   US           Y
03   Australia    Y
04   China        N
05   Russia       Y
06   Japan        Y
07   Singpaore    Y
08   South Korea  N
09   Finaland     Y
10   Ireland      Y

Pour info, voici comment la page de manuel de la commande column explique les options de ligne de commande -t et -s :

-s      Specify a set of characters to be used to delimit columns for the
        -t option.

-t      Determine the number of columns the input contains and create a
        table.  Columns are delimited with whitespace, by default, or
        with the characters supplied using the -s option.  Useful for
        pretty-printing displays.

Q3. Qu’en est-il des cas avec plusieurs délimiteurs ?

Dans l’exemple précédent, tu as vu que le contenu original contenait le tube ‘|’ comme délimiteur. La commande column a donc utilisé ce délimiteur pour produire une sortie au format colonne. Mais que se passe-t-il s’il y a deux tuyaux dans certaines entrées. Par exemple, regarde la première ligne ici :

No.||Country||Yes/No
01|India|Y
02|US|Y
03|Australia|Y
04|China|N
05|Russia|Y
06|Japan|Y
07|Singpaore|Y
08|South Korea|N
09|Finland|Y
10|Ireland|Y

Par défaut, la commande column fusionne plusieurs délimiteurs adjacents en un seul délimiteur. Cependant, si tu veux, tu peux utiliser l’option de ligne de commande -n pour désactiver ce comportement. Donc dans ce cas, la commande column deviendrait :

column -n test.txt -t -s "|"

Q4. Comment la commande column traite-t-elle les lignes vides ?

Par défaut, les lignes vides sont ignorées par la commande column. Cependant, si tu veux, tu peux supprimer ce comportement en utilisant l’option de ligne de commande -e.

Par exemple, la ligne de contenu du fichier ceci :

No.|Country|Yes/No
01|India|Y
02|US|Y
03|Australia|Y

04|China|N
05|Russia|Y
06|Japan|Y

07|Singapore|Y
08|South Korea|N
09|Finland|Y
10|Ireland|Y

s’affichera comme suit :

No.  Country      Yes/No
01   India        Y
02   US           Y
03   Australia    Y

04   China        N
05   Russia       Y
06   Japan        Y

07   Singapore    Y
08   South Korea  N
09   Finland     Y
10   Ireland      Y

en utilisant la commande suivante :

column -e test.txt -t -s "|"

Conclusion

Selon le type de travail que tu fais sur la ligne de commande Linux, la commande column pourrait t’être d’une grande aide. Dans ce tutoriel, nous avons abordé la majorité des options offertes par l’outil. Pour plus d’informations, consulte sa page de manuel.

Vous aimerez aussi...