我有一个制表符分隔的文本文件,我发送到column
以“漂亮地打印”表格。漂亮的印刷色列中的颜色转义代码
原始文件:
1<TAB>blablablabla<TAB>aaaa bbb ccc
2<TAB>blabla<TAB>xxxxxx
34<TAB>okokokok<TAB>zzz yyy
使用column -s$'\t' -t <original file>
,我得到
1 blablablabla aaaa bbb xxx
2 blabla xxxxxx
34 okokokok zzz yyy
达到目标。现在我想给列添加颜色。我试图在原始文件中每个制表符分隔的字段周围添加转义码。 column
成功地以彩色打印,但列不再对齐。相反,它只是逐字打印TAB分隔符。
问题是:我怎样才能让列对齐,但也与独特的颜色?
我想到了两种方法来实现这一目标:
- 调整
column
参数,使与颜色代码比对工作 - 重定向柱的输出到另一个文件,并做了搜索+取代前两个空格分隔的字段(前两列都保证不包含空格;第三列最有可能将包含空格,但没有TAB字符)
问题是,我不知道该怎么做或者这两个的...
仅供参考,这里就是我传递给column
:
注意,字段的确由TAB字符分隔。我已经用od
确认了这一点。
编辑:
似乎没有要与着色的问题。我已经有了上面显示的颜色代码工作的文件。问题是column
将不会对齐,一旦我发送输入与转义码。我想通过而不是颜色代码到column
,然后复制每个字段之间输出的确切数量的空格column
,并在漂亮的打印方案中使用它。
我想这仅仅使用“列-t my_file”,并没有看到有对齐任何问题。 –
如果FIELD3中有空格,除非您指定不同的分隔符,否则它将不起作用。即使如此,即使它们不包含空格,前两列也没有对齐。以下是'column -t my_file'的结果:http://i.imgur.com/w6i1aGn.png –
今天必须离开。明天我们会更多地了解这一点..必须有解决方案。 (当然你可以使用更多的* mighty *语言,比如python或perl,但是awk + column应该可以工作..不知道为什么) – hek2mgl