Commande column Linux

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

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

Séparateur de sortie personnalisé

Exemple

$ echo -e "1 2 3n4 5 6" | column -t -o " | "
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

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

Spécification des noms de colonnes

Exemple

$ echo -e "Alice 25nBob 30" | column -N "Name,Age" -t
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

Notes

  1. 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
  2. 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
  3. Considérations sur les performances: Lors du traitement de fichiers volumineux,columnpeut nécessiter beaucoup de mémoire
  4. 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

  1. Prenez votre/etc/passwdfichier et mettez en forme les 5 premières lignes sous forme de tableau (Astuce : utilisez:comme délimiteur)
  2. Essayez d'utiliser lacolumncommande pour organiser votre liste des processus (ps auxsortie)
  3. 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

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.


Linux 命令大全Encyclopédie des commandes Linux

Autres extensions