如何在整齐的列中格式化bash命令的输出

前端之家收集整理的这篇文章主要介绍了如何在整齐的列中格式化bash命令的输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个函数,它输出许多行的信息,我想在列中格式化。问题是,任何特定的“单元格”(如果我可以使用该术语)的数据的宽度是可变的,所以管道到像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

猜你在找的Bash相关文章