Como posso formatar a saída de um comando bash em colunas limpas
Tenho uma função que gera muitas linhas de informações que quero formatar em colunas. O problema é que a largura de qualquer "célula" específica (se é que posso usar esse termo) de dados é variável, portanto, canalizá-lo para algo como awk não me dá o que eu quer
A função é "chaves" (não que isso importe) e estou tentando algo como isto:
$ keys | awk '{ print $1"\t\t" $2 }'
mas a saída (ou seja, um trecho) é assim:
"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
Como posso forçar as coisas a permanecerem em colunas organizadas? Isso é possível com o awk ou preciso usar outra coisa?