Skip to main content

[Commandes Linux] Xan

Introduction

Cet outil permet de travailler avec les fichiers CSV en ligne de commande. En plus il est développé en Rust ce qui le rend beaucoup plus performant qu'un excel, ou libre office.

image.png

Manuel

Documentations

La doc est vraiment complète :

View

Pour afficher un fichier csv basiquement :

xan view file.csv

Headers

Pour afficher les noms des colonnes :

xan headers

Count

Pour savoir le nombre d'entrées :

xan count

Select

xan select col1,col3,col5

Sort

Pour trier sur un colonne (par exemple les dates) :

xan sort -R -s 'date'

Dans cet exemple, on tri dans l'ordre décroissant avec le -R sur la colonne date .

Filter

xan filter 'country eq "FR"'

Vous pouvez consulter la documentation des expressions avec xan help cheatsheet .

Agg

Pour effectuer une aggrégation sur une colonne comme une somme des valeurs :

xan agg 'sum(Revenu) as total_revenus'

Groupby

Il s'agit d'une alternative à Agg qui permet d'effectuer une expression (comme une somme) pour chaque valeur d'une autre colonne.

Voici un exemple où on calcul le total des revenus pour chaque entreprise :

xan groupby 'Entreprise' 'sum(Revenu) as total_revenus'

From

Pour convertir d'autre formats de fichiers en CSV notamment du json :

xan from <FILE>.json

Plot

Permet de générer des graphiques :

xan plot -LT 'date' 'revenu' --rows 10 --y-min 1 -c 'entreprise'

Autre exemple si vous souhaitez afficher le nombre d'occurence d'un champ dans le temps (si vous n'avez pas de Y) :

xan plot --count -LT 'date' --rows 10 --y-min 1