我有一个函数,它输出许多行的信息,我想在列中格式化。问题是,任何特定的“单元格”(如果我可以使用该术语)的数据的宽度是可变的,所以管道到像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