我正在尝试格式化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/