我正在尝试创建一个脚本,该脚本通过http请求获取数据,然后打印分为两列的一些信息。 例如:
abcde | 123
fghijkl | 4567
mnopqrstuvwxyz | foo
正如你所看到的,即使是制表,也不像我预期的那样......
有没有人有想法解决这个问题?
先谢谢,
答案 0 :(得分:2)
您可以使用:
cat file | column -t -s' '
abcde | 123
fghijkl | 4567
mnopqrstuvwxyz | foo
示例是包含您确切输出的文件,但您可以从任何来源管道column
。
-s
指定分隔符(可以是字符集)。-t
确定输入包含的列数并创建表。默认情况下,列使用空格分隔,或使用-s
选项提供的字符分隔列。适用于漂亮的打印显示。如果输入的dont包含分隔符(在本例中为“|”),则可以使用以下内容插入所需的分隔符。
cat file | sed 's/ / | /' | column -t -s' '
在上面sed
我用"|"
替换单个空格
,sed
匹配第一个空格,默认情况下只匹配一行的一个空格。