我有一个键值对形式的命令输出:
key1: value 1 key2: value 2 ...
key1: long value 1 key2: value 2 ...
key1: val 1 key2: value 2 ...我想要的是美观地打印此输出,以便":“对齐:
key1: value 1 key2: value 2 ...
key1: long value 1 key2: value 2 ...
key1: val 1 key2: value 2 ...谢谢
发布于 2012-08-15 22:29:40
只要你能容忍密钥的错误放置,下面这个非常简单的解决方案是可行的:
cat input | column -t -s ":"顺便说一句,如果在管道到列之前提取关键字,输出会看起来更好。
使用awk、perl或python可以获得更好的结果,当然这在bash中是可行的,但是脚本会更大(我已经开始了,但还没有完成)。背后的想法很简单:使用两次传递-第一次传递计算每个键的最大偏移量并将其存储在数组中,第二次传递基于偏移量的路径注入精确数量的空间。
https://stackoverflow.com/questions/11951823
复制相似问题