Mam plik tekstowy rozdzielany tabulatorami, który przesyłam do column
, aby "ładnie wydrukować" tabelę.Kody ucieczki kolorów w dość drukowanych kolumnach
oryginalny plik:
1<TAB>blablablabla<TAB>aaaa bbb ccc
2<TAB>blabla<TAB>xxxxxx
34<TAB>okokokok<TAB>zzz yyy
Korzystanie column -s$'\t' -t <original file>
, mam
1 blablablabla aaaa bbb xxx
2 blabla xxxxxx
34 okokokok zzz yyy
jako pożądany. Teraz chcę dodać kolory do kolumn. Próbowałem dodać kody escape wokół każdego pola rozdzielanego tabulatorami w oryginalnym pliku. column
z powodzeniem drukuje w kolorze, ale kolumny nie są już wyrównane. Zamiast tego po prostu drukuje separatory TAB dosłownie.
Pytanie brzmi: w jaki sposób mogę ustawić kolumny wyrównane, ale także z unikalnymi kolorami?
myślałem dwóch sposobów na osiągnięcie tego:
- Dostosuj parametry
column
aby uczynić pracę wyrównania z kodami kolorów - przekierować wyjście kolumny do innego pliku, a nie wyszukiwania + wymienić na pierwszych dwóch pól białych rozdzielany (pierwsze dwie kolumny są gwarantowane nie zawierać spacji, trzecia kolumna najprawdopodobniej będzie zawierać spacje, ale nie ma żadnych znaków TAB)
Problem w tym, że nie jestem pewien jak to zrobić albo z tych dwóch ...
Dla porównania, tutaj jest to, co ja przechodząc do column
:
Zauważ, że pola są rzeczywiście oddzielone znakami TAB. Potwierdziłem to pod numerem od
.
edit:
Tam nie wydaje się być problemem z koloryzacji. Mam już plik pokazany powyżej z działającymi kodami kolorów. Problem jest następujący: column
nie wyrówna się po wysłaniu przez niego danych wejściowych za pomocą kodów escape. Zastanawiam się nad przekazaniem pól bez kodów kolorów do column
, a następnie skopiowanie dokładnej liczby spacji column
danych wyjściowych między poszczególnymi polami i użycie ich w ładnym schemacie drukowania.
próbowałem to przy użyciu tylko „kolumny -t my_file” i nie widzę żadnego problemu z wyrównania. –
Jeśli FIELD3 zawiera spacje, nie będzie działać, dopóki nie zostanie określony inny separator. Mimo to moje nie wyrównuje dwóch pierwszych kolumn, nawet jeśli nie zawierają spacji. Oto wyniki 'kolumny -t mój_plik': http://i.imgur.com/w6i1aGn.png –
Muszę wyjść na dziś. Jeszcze jutro zagłębię się w to ... Musi znaleźć rozwiązanie. (Można użyć bardziej * potężnego * języka jak python lub perl oczywiście, ale kolumna awk + powinna działać ... nie wiem dlaczego) – hek2mgl