2016-02-04 3 views
0

J'ai un (3 colonnes) fichier délimité par des tabulations, tels que:Shell script pour aligner correctement les colonnes

activity_log manager Manager 
reserve_rm_hreserver_rm_log manager Manager 
mo apprv_mgr1 Approving Manager 
wrview manager Manager 

Je voudrais obtenir des colonnes alignées correctement; dans ce cas:

activity_log     manager  Manager 
reserve_rm_hreserver_rm_log manager  Manager 
mo       apprv_mgr1 Approving Manager 
wrview      manager  Manager 

Sans doute est-ce faisable avec awk, en balayant la chaîne la plus longue dans chaque colonne, et en utilisant que pour le formatage de l'impression de la colonne. Je pourrais faire ça.

Mais je suis sûr qu'il doit y avoir un one-liner pour le faire beaucoup plus facilement. Ai-je raison?

+2

colonne '-t fichier' devrait le faire – anubhava

Répondre

0

Cela devrait fonctionner:

$ column -t myfile.txt 

vous pouvez utiliser différents caractères pour remplir (man column est votre ami)

+0

Avec -s '' , c'est ce que j'étais après. Merci beaucoup! – user3341592