使用* nix中的列命令格式化列表

我试图在bash格式的条目列表,并使用column命令。 但是, -t选项默认使用任何空格作为分隔符,这对我所拥有的数据(它包含空格和制表符)不起作用。 我不知道如何获得-s标志来指定换行符作为唯一的列分隔符。

理论上,为了指定一个换行符,可以使用$'...'符号,就像'...'只是它支持C样式的转义序列:

 column -t -s $'\n' list-of-entries.txt 

但是,我不太明白这个的目的。 换行符是行分隔符,因此$'\n'列分隔符相当于没有任何列分隔符:

 column -t -s '' list-of-entries.txt 

这意味着输入将被视为只有一列; 所以相当于根本不使用column

 cat list-of-entries.txt 

看起来你实际上不想使用-t标志,因为-t标志的目的是确保每一行输入变成一行输出,而且听起来不像你想要的那样。 我猜你想要这个:

 column list-of-entries.txt 

这将把list-of-entries.txt每一行当作一个值放入column输出的表的一个单元格中。

这可以输出制表符分隔文件的相当打印版本

 column -t -s $'\t' list-of-entries.txt