Как я могу отформатировать вывод команды bash в аккуратных столбцах

У меня есть функция, которая выводит много строк информации, которую я хочу отформатировать в столбцах. Проблема в том, что ширина любой конкретной «ячейки» (если я могу использовать этот термин) данных является переменной, так что привязка ее к чему-то вроде awk не дает мне того, что я хочу.

Функция - это «ключи» (не то чтобы это важно), и я пробую что-то вроде этого:

$ 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, или мне нужно использовать что-то еще?

50
задан iconoclast 23 June 2011 в 16:07
поделиться