如何格式化unix中的空格

时间:2015-11-04 11:31:33

标签: shell unix

我有一个以下文件

ABCD|12345|N|YES  
ABCDEFGH|12344444|NO|YES  
AB|12|N|Y   

我希望输出如下

ABCD                12345      N   YES  
ABCDEFGH            123444444  NO  YES  
AB                  12         N   Y  

基本上需要以良好的可读格式对其进行格式化。像一张桌子。 (这里的空间不是我想要的那样)

2 个答案:

答案 0 :(得分:1)

您可以使用trcolumn -t

tr '|' '\t' < file | column -t
ABCD      12345     N   YES
ABCDEFGH  12344444  NO  YES
AB        12        N   Y

tr是用标签替换|column -t用于生成表格格式的输出。

答案 1 :(得分:0)

尝试类似:

echo "ABCD|12345|N|YES ABCDEFGH|12344444|NO|YES AB|12|N|Y" | sed 's/|/ /g'

这个sed会搜索“|”并将替换为整行的空间。或者你可以使用tr命令:

echo "ABCD|12345|N|YES ABCDEFGH|12344444|NO|YES AB|12|N|Y" | tr '|' ' '

从管道翻译“|”太空了。