我有一个函数,它输出许多行的信息,我想在列中格式化。问题是,任何特定的“单元格”(如果我可以使用该术语)的数据的宽度是可变的,所以管道到像awk这样的东西不会给我我想要的。
函数是“keys”(不是那么重要),我试着这样:
$ keys | awk '{ print $1"\t\t" $2 }'
但输出(它的一个片段,也就是)看起来像这样:
"option-y" yank-pop "option-z" execute-last-named-cmd "option-|" vi-goto-column "option-~" _bash_complete-word "option-control-?" backward-kill-word "control-_" undo "control-?" backward-delete-char
如何强迫事情留在整洁的列?这是可能与awk,或者我需要使用别的东西?
column(1)
是你的朋友。
$ column -t <<< '"option-y" yank-pop > "option-z" execute-last-named-cmd > "option-|" vi-goto-column > "option-~" _bash_complete-word > "option-control-?" backward-kill-word > "control-_" undo > "control-?" backward-delete-char > ' "option-y" yank-pop "option-z" execute-last-named-cmd "option-|" vi-goto-column "option-~" _bash_complete-word "option-control-?" backward-kill-word "control-_" undo "control-?" backward-delete-char