Commande column Linux
Encyclopédie des commandes Linux
columnest un outil de ligne de commande pratique dans les systèmes Linux, utilisé pour formater le texte d'entrée en un affichage multicolonne. Il peut réorganiser des données textuelles à l'origine désordonnées sous forme de tableau soigné, ce qui améliore grandement la lisibilité.
Cas d'utilisation typiques:
- Formater la sortie de commande (par ex.,
ls、psetc.) - Organiser des données CSV ou TSV
- Créer des tableaux simples dans le terminal
- Aligner le contenu du fichier journal
Syntaxe de base
column [选项] [文件名]
Si aucun nom de fichier n'est spécifié,columnlit les données depuis l'entrée standard.
Options et paramètres courants
| Option | Description |
|---|---|
-t |
Détecter automatiquement le délimiteur d'entrée et créer un tableau |
-s sep |
Spécifier un délimiteur de colonne personnalisé (par défaut, un espace blanc) |
-c width |
Définir la largeur totale de sortie (en caractères) |
-x |
Remplir d'abord les lignes, puis les colonnes (par défaut, d'abord les colonnes, puis les lignes) |
-o sep |
Spécifier le séparateur de colonnes de sortie (par défaut, deux espaces) |
-N names |
Spécifier des noms pour chaque colonne (séparés par des virgules) |
-n |
Ne pas fusionner plusieurs délimiteurs consécutifs |
Exemples d'utilisation
Formatage de tableau de base
Exemple
$ echo -e "Nom Âge SexenAlice 25 FnBob 30 MnCharlie 22 M" | column -t
Nom Âge Sexe
Alice 25 F
Bob 30 M
Charlie 22 M
Nom Âge Sexe
Alice 25 F
Bob 30 M
Charlie 22 M
Traitement des données CSV
Exemple
$ echo -e "ID,Nom,Départementn101,Alice,Ventesn102,Bob,Informatique" | column -s, -t
ID Nom Département
101 Alice Ventes
102 Bob Informatique
ID Nom Département
101 Alice Ventes
102 Bob Informatique
Séparateur de sortie personnalisé
Exemple
$ echo -e "1 2 3n4 5 6" | column -t -o " | "
1 | 2 | 3
4 | 5 | 6
1 | 2 | 3
4 | 5 | 6
Combinaison avec d'autres commandes
Exemple
$ ls -l | head -5 | column -t
total 48
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Desktop
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Documents
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Downloads
total 48
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Desktop
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Documents
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Downloads
Utilisation avancée
Gestion des données irrégulières
Exemple
$ echo -e "Item:Price:StocknApple:1.2:50nOrange:0.8:30" | column -s: -t
Item Price Stock
Apple 1.2 50
Orange 0.8 30
Item Price Stock
Apple 1.2 50
Orange 0.8 30
Spécification des noms de colonnes
Exemple
$ echo -e "Alice 25nBob 30" | column -N "Name,Age" -t
Name Age
Alice 25
Bob 30
Name Age
Alice 25
Bob 30
Contrôle de la largeur de sortie
Exemple
$ echo -e "1 2 3 4 5n6 7 8 9 10" | column -c 30 -t
1 3 5 7 9
2 4 6 8 10
1 3 5 7 9
2 4 6 8 10
Notes
- Gestion des délimiteurs: Par défaut,
columntraite plusieurs caractères d'espacement consécutifs comme un seul délimiteur ; l'utilisation de l'-noption peut désactiver ce comportement - Caractères spéciaux: Si les données contiennent des délimiteurs tels que des espaces ou des tabulations, il est recommandé de spécifier explicitement le délimiteur
- Considérations sur les performances: Lors du traitement de fichiers volumineux,
columnpeut nécessiter beaucoup de mémoire - Alignement: Toutes les colonnes sont alignées à gauche par défaut ; la spécification directe de l'alignement n'est actuellement pas prise en charge
Comparaison des alternatives
| Outil | Avantages | Inconvénients |
|---|---|---|
column |
Simple et facile à utiliser, intégré à Linux | Fonctionnalités relativement basiques |
awk |
Hautement flexible et puissant | Syntaxe complexe |
pr |
Prend en charge la pagination et le contrôle des colonnes | Options complexes |
paste |
Adapté à la fusion de colonnes de fichier | Capacité de mise en forme limitée |
Exercices pratiques
- Prenez votre
/etc/passwdfichier et mettez en forme les 5 premières lignes sous forme de tableau (Astuce : utilisez:comme délimiteur) - Essayez d'utiliser la
columncommande pour organiser votre liste des processus (ps auxsortie) - Créez un fichier texte avec trois colonnes de données et expérimentez différents délimiteurs
-seffet de l'option
Exemple
# Exemple de solution pour l'exercice 1
head -5 /etc/passwd | column -s: -t
head -5 /etc/passwd | column -s: -t
En maîtrisant lacolumncommande, vous pouvez facilement convertir des données textuelles désordonnées sous forme de tableau lisible, ce qui est très pratique dans l'administration système et le traitement des données au quotidien.
Autres extensions