如何通过Linux命令提示符对齐文本?

时间:2014-11-08 05:51:50

标签: linux command text-align

我有一个文本文件然后我想对齐它。 我用了column -t myfile > newfile.  但是这个命令删除一个分隔两个句子的空行。我现在该怎么办?请帮帮我。

Myfile: a c                Used column -t : a   c      Desired file: a    c
        bd e                                bd  e                    bd   e
        .                                   .                        .
                                            f   g                     
        f g                                 hi  j                    f    g
        hi j                                                         hi   j

1 个答案:

答案 0 :(得分:2)

column -e -t myfile > newfile

-e是“不要忽略空行”的选项。

如果-e选项不可用 - 它似乎是由Debian和衍生品修补的,因此可能无法在其他系统上使用 - kludge是:

sed -e 's/^$/###xxx###/' myfile | column -t | sed -e 's/###xxx###//'

其中###xxx###是您不希望在文件中的任何位置看到的字符串。 sed使用此字符串填充空行,然后命中column命令,以阻止它们以静默方式删除。在column命令之后,奇数字符串被sed删除。