【问题标题】:Align around a given character in bash对齐bash中的给定字符
【发布时间】:2018-08-20 08:04:50
【问题描述】:

有没有一种简单的方法来对齐关于单个字符的多行文本,类似于this question,但在 bash 中。

也对 zsh 解决方案开放。

我有什么:

aaa:aaaaaaaa
bb:bbb
cccccccccccc:cc
d:d

我想要什么:

         aaa:aaaaaaaa
          bb:bbb
cccccccccccc:cc
           d:d

最好输出也可以通过管道输出并保留其布局。

谢谢????

【问题讨论】:

  • 这不是您要求的格式,但您可能想尝试column -s ':' -o ':' -t 甚至column -s ':' -t 的输出(第一个很接近,但文本不对-对齐;第二个看起来更好看 IMO,但它省略了 :)

标签: bash alignment sh zsh


【解决方案1】:

你可以试试 column 和 gnu sed

column -t -s':' infile | sed -E 's/(\S+)(\s{0,})(  )(.*)/\2\1:\4/'

【讨论】:

    猜你喜欢
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2015-05-30
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    相关资源
    最近更新 更多