Wyrównywanie tekstu w powłoce za pomocą column

Kategoria: FAQ, etykiety: system

Dodany: 2014-11-29 10:10 (zmodyfikowany: 2014-11-29 10:20)
Przez: azhag

Wyświetleń: 3275

Aby szybko wyrównać tekst (np. pliki konfiguracyjne) w powłoce można skorzystać z programu column:

$ cat test.txt
AAAAAAAA BB CCCCC DDD
AA BBB C DDDDDDDDDD
AAAAA BBBBBB CCC DDDDDD

$ column -t test.txt 
AAAAAAAA  BB      CCCCC  DDD
AA        BBB     C      DDDDDDDDDD
AAAAA     BBBBBB  CCC    DDDDDD

$ head -n2 test.txt | column -t
AAAAAAAA  BB   CCCCC  DDD
AA        BBB  C      DDDDDDDDDD

Można również ustawić separator pól, np. czytelniejsze wyświetlenie pliku CSV (aczkolwiek metoda ta ma swoje ograniczenia, np. pole nie może być puste):

$ sed 's/ /,/g' test.txt   
AAAAAAAA,BB,CCCCC,DDD
AA,BBB,C,DDDDDDDDDD
AAAAA,BBBBBB,CCC,DDDDDD

$ sed 's/ /,/g' test.txt | column -s , -t
AAAAAAAA  BB      CCCCC  DDD
AA        BBB     C      DDDDDDDDDD
AAAAA     BBBBBB  CCC    DDDDDD

OSnews Wykop Blip Flaker Kciuk Śledzik Facebook Identi.ca Twitter del.icio.us Google Bookmarks