Affichage de la sortie de la commande ou du contenu du fichier au format colonne
En avez-vous marre d’afficher une sortie de commande encombrée ou le contenu d’un fichier sur le terminal. Ce court article montrera comment afficher la sortie d’une commande ou le contenu d’un fichier dans un format « en colonne » très clair.
Nous pouvons utiliser l’utilitaire de colonne pour transformer une entrée standard ou le contenu d’un fichier en forme de tableau de plusieurs colonnes, pour une sortie beaucoup plus claire.
Lire aussi : 12 commandes utiles pour filtrer le texte afin d’effectuer des opérations de fichiers efficaces sous Linux
Pour y voir plus clair, nous avons créé un fichier suivant « tecmint-authors.txt » qui contient une liste des 10 principaux noms d’auteurs, le nombre d’articles écrits et le nombre de commentaires qu’ils ont reçus sur l’article jusqu’à présent.
Pour le démontrer, exécutez la commande cat ci-dessous pour afficher le fichier tecmint-authors.txt.
$ cat tecmint-authors.txt
Exemple de sortie
pos|author|articles|comments
1|ravisaive|431|9785
2|aaronkili|369|7894
3|avishek|194|2349
4|cezarmatei|172|3256
5|gacanepa|165|2378
6|marintodorov|44|144
7|babin lonston|40|457
8|hannyhelal|30|367
9|gunjit kher|20|156
10|jesseafolabi|12|89
En utilisant la commande column, nous pouvons afficher une sortie beaucoup plus claire comme suit, où le -t aide à déterminer le nombre de colonnes que l’entrée contient et crée une table et le -s spécifie un caractère de délimitation.
$ cat tecmint-authors.txt | column -t -s "|"
Exemple de sortie
pos author articles comments
1 ravisaive 431 9785
2 aaronkili 369 7894
3 avishek 194 2349
4 cezarmatei 172 3256
5 gacanepa 165 2378
6 marintodorov 44 144
7 babin lonston 40 457
8 hannyhelal 30 367
9 gunjit kher 20 156
10 jesseafolabi 12 89
Par défaut, les lignes sont remplies avant les colonnes, pour remplir les colonnes avant de remplir les lignes, utilisez l’option -x et pour indiquer à la commande de colonne de considérer les lignes vides (qui sont ignorées par défaut), incluez l’indicateur -e.
Voici un autre exemple pratique, exécutez les deux commandes ci-dessous et voyez la différence pour mieux comprendre la magie que la colonne peut faire
$ mount
mount | column -t
Exemple de sortie
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4013172k,nr_inodes=1003293,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=806904k,mode=755)
/dev/sda10 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (rw,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/
....
Pour enregistrer la sortie correctement formatée dans un fichier, utilisez la redirection de sortie comme indiqué.
$ mount | column -t >mount.out
Pour plus d’informations, reportez-vous à la page de manuel des colonnes :
$ man column
Vous pouvez également lire les articles connexes suivants.
- Comment utiliser awk et les expressions régulières pour filtrer du texte ou des chaînes dans des fichiers
- Comment trouver et trier des fichiers en fonction de la date et de l’heure de modification sous Linux
- 11 commandes Linux avancées 'grep' sur les classes de caractères et les expressions de crochets
Si vous avez des questions, utilisez le formulaire de commentaire ci-dessous pour nous écrire. Vous pouvez également partager avec nous tous les conseils et astuces utiles de la ligne de commande sous Linux.