我正在尝试格式化 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
输出的表格的一个单元格中。
https://stackoverflow.com/questions/12133062/