我正在尝试格式化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输出的表的一个单元格中的值。

关于linux - 在* nix中使用column命令格式化列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12133062/

10-11 23:06
查看更多