14

我正在尝试格式化 bash 中的条目列表,并且正在使用该column命令。但是,该-t选项默认使用任何空格作为分隔符,这不适用于我拥有的数据(它包含空格和制表符)。我不知道如何让-s标志指定换行符作为唯一的列分隔符。

4

2 回答 2

13

理论上,要指定换行符,您可以使用符号,除了它支持 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输出表的一个单元格中的值。

于 2012-08-26T23:27:19.203 回答
6

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

column -t -s $'\t' list-of-entries.txt
于 2012-12-20T01:34:45.100 回答