awk格式化输出

  |   0 评论   |   45 浏览

背景

head -n 3 /etc/passwd

root<img align="absmiddle" alt=":x:" class="emoji" src="https://note.abeffect.com/note/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>0:0:root:/root:/bin/bash
bin<img align="absmiddle" alt=":x:" class="emoji" src="https://note.abeffect.com/note/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>1:1:bin:/bin:/sbin/nologin
daemon<img align="absmiddle" alt=":x:" class="emoji" src="https://note.abeffect.com/note/js/lib/emojify.js-1.1.0/images/basic/x.png" title=":x:" width="20px" height="20px"></img>2:2:daemon:/sbin:/sbin/nologin

如果我们只想要第1列和第5列,同时输出时相同列对齐,怎么办呢?

可以使用 awk + printf ,示例如下:

$head -n 3 /etc/passwd | awk -F ':' '{printf "%-30s%-15s\n",$1,$5}'
root                          root
bin                           bin
daemon                        daemon

评论

发表评论

validate