linux之awk命令格式化输出(printf)使用技巧

在使用awk命令的过程中输出的每一列总是对不齐,看着很乱,如下:

[root@linuxforliuhj ~]# awk -F ":" '/sbin:/{print $1,$4,$5,$7}' /etc/passwd
daemon 2 daemon /sbin/nologin
sync 0 sync /bin/sync
shutdown 0 shutdown /sbin/shutdown
halt 0 halt /sbin/halt

如果我们想要输出的结果整齐的话则需要使用printf代替print输出,这里printf的语法与c语言基本相似
awk -F ":" 'BEGIN{print"用户名\t\t 字段1\t\t\t字段2\t\t\t权限"}/sbin:/{printf "%-20s%-20s%-20s%-20s\n", $1,$4,$5,$7}' /etc/passwd

[root@linuxforliuhj ~]# awk -F ":" 'BEGIN{print"用户名\t\t  字段1\t\t\t字段2\t\t\t权限"}/sbin:/{printf "%-20s%-20s%-20s%-20s\n", $1,$4,$5,$7}' /etc/passwd
用户名              字段1                 字段2                   权限
daemon              2                   daemon              /sbin/nologin
sync                0                   sync                /bin/sync
shutdown            0                   shutdown            /sbin/shutdown
halt                0                   halt                /sbin/halt

先通过BEGIN{}模式输出表头,然后后面通过printf输出表内容:
%-20s :通常我们用的是%s来代替一个字符串,这里-20表示占位20个字节,负号表示左对齐,正号表示右对齐
\n:换行符表示输出完本行以后换行,直接使用print则会默认换行,不需要手工添加
我们使用了4个%s占位,所以后面需要有4个参数.
在此基础上还可以进行变化,例如
awk -F ":" 'BEGIN{print"用户名\t\t\t字段1\t\t 字段2\t\t 权限"}/sbin:/{printf "user:%-20s%-20s%-20s%-20s\n", $1,$4,$5,$7}' /etc/passwd

[root@linuxforliuhj ~]# awk -F ":" 'BEGIN{print"用户名\t\t\t字段1\t\t     字段2\t\t     权限"}/sbin:/{printf "user:%-20s%-20s%-20s%-20s\n", $1,$4,$5,$7}' /etc/passwd
用户名                   字段1                字段2                   权限
user:daemon              2                   daemon              /sbin/nologin
user:sync                0                   sync                /bin/sync
user:shutdown            0                   shutdown            /sbin/shutdown
user:halt                0                   halt                /sbin/halt

linux之awk命令格式化输出(printf)使用技巧相关推荐

  1. linux之awk命令学习笔记

    Linux之awk命令学习笔记 前言 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, ...

  2. linux中awk命令_Linux / Unix中的AWK命令

    linux中awk命令 AWK is suitable for pattern search and processing. The script runs to search one or more ...

  3. linux bin命令解释,Linux:“awk”命令的妙用

    原标题:Linux:"awk"命令的妙用 导读awk是一个强大的文本分析工具,简单来说awk就是把文件逐行读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理 ...

  4. 【Linux 内核】进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )

    文章目录 一.进程特殊形式 ( 内核线程 | 用户线程 ) 二.C 标准库与 Linux 内核中进程相关概念 三.Linux 查看进程命令及输出字段解析 一.进程特殊形式 ( 内核线程 | 用户线程 ...

  5. linux 命令 cd -p,Linux_实例讲解Linux中cd命令切换目录的使用技巧,cd命令大家再熟悉不过了,bash sh - phpStudy...

    实例讲解Linux中cd命令切换目录的使用技巧 cd命令大家再熟悉不过了,bash shell经常会被用到的切换目录命令. 接下来我们直接通过万能的man来了解cd命令. 直接 man cd 是不行的 ...

  6. linux 命令 cd -p,实例讲解Linux中cd命令切换目录的使用技巧

    这篇文章主要介绍了Linux中cd命令切换目录的使用技巧,cd命令的用法是Linux入门学习中的基础知识,需要的朋友可以参考下 cd命令大家再熟悉不过了,bash shell经常会被用到的切换目录命令 ...

  7. Linux命令之格式化输出printf

    概述 printf 命令是一个比 echo 更丰富的格式化输出命令,仿照了 C 语言的 printf() 函数的功能. 参考资料: Linux printf command 语法 该命令的语法如下: ...

  8. shell编程系列15--文本处理三剑客之awk格式化输出printf

    shell编程系列15--文本处理三剑客之awk格式化输出printfprintf的格式说明符格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o 打印 ...

  9. Linux下awk命令简介

    转载自:http://www.zsythink.net/archives/1336/ 初识awk 我们先来用专业的术语描述一下awk是什么,如果你看不懂,没关系,我们会再用"大白话" ...

最新文章

  1. 【ACM】杭电OJ 2018
  2. AWS-CLI-V2-Install
  3. python计算csv列平均值_利用Python读取CSV文件并计算某一列的均值和方差
  4. [记忆碎片的磁盘整理]老妈
  5. C语言2020年作业,2020年哈尔滨工业大学C语言程序设计精髓 第七周编程题作业
  6. django 1.8 官方文档翻译: 3-3-4 管理文件
  7. 零基础学习前端开发,怎么自学javascript?
  8. HTML中段落标签和换行标签分别是,HTML 基本标签
  9. 就算不偷盗,也让你看看计算机里常用的有那些软件--常用软件序列号
  10. Linux Vi 文本编辑器常用命令
  11. 数字电路技术可能出现的简答题_数字电子技术基础(Ⅰ)-中国大学mooc-试题题目及答案...
  12. 硬盘 : ATA、ATAPI的含义
  13. 冬瓜哥祝大家新年快乐!
  14. vtkPolyData获取bounds点坐标
  15. 数学分析习题解答(四:第一部分)
  16. gensim中word2vec API参数说明
  17. msvcr120d.dll 丢失
  18. 17 RFID卡的读写
  19. chrome浏览器的性能测试--本文引用自 百度百科http://baike.baidu.com/view/1835504.htm
  20. 软件测试内容全貌——全景图 (1)

热门文章

  1. 爆肝总结了面试套路,2W字长文!
  2. python文件如何关闭只读
  3. Kyligence 再获 CRN, insideBIGDATA 两大国际奖项认可
  4. FS2115D SOT23-6 低噪声3.3V升压IC电荷泵 DC/DC 转换器
  5. HBASE面试题,希望能够帮助到你
  6. oracle插入数据脚本
  7. 音乐播放器的实现(五)—— 音量的加减和静音
  8. 【MySQL从入门到精通】:SQL的数据类型
  9. js的语法和java相同_js的一些有别于java语法
  10. 机器学习python下数据分类方法