我们之前说过,awk是一个超强的文本格式化工具,而本文的printf动作就是经常用来做格式化文本的。使用方式跟c语言的printf差不多.

1,printf默认不会回车换行

ghostwu@dev:~/linux/awk$ awk 'BEGIN{print "abc"}'
abc
ghostwu@dev:~/linux/awk$ awk 'BEGIN{printf "abc"}'
abcghostwu@dev:~/linux/awk$

2,我们需要像c语言一样,用转义字符\n,输出换行

ghostwu@dev:~/linux/awk$ awk 'BEGIN{printf "%s\n", "ghostwu"}'
ghostwu

小结:

1)使用printf动作 输出的文本不会换行,如果需要换行,可以在对应的"格式替换符"后加入"\n"进行转义

2)使用printf动作时,"指定的格式" 与 "被格式化的文本" 之间,需要用"逗号"隔开

3)使用printf动作时,"格式"中的"格式替换符"必须与 "被格式化的文本" 一一对应

3,一一对应的 “被格式化的文本” 与 "格式替换符

ghostwu@dev:~/linux/awk$ awk '{printf "第一列: %s  第二列: %s 第三列: %s\n", $1, $2, $3}' ghostwu.txt
第一列: ghostwu 第二列: 第三列: man
第一列: zhangsan 第二列: 第三列: woman
第一列: lisi 第二列: 第三列: woman

4,用 -v FS指定输入分隔符,然后用printf格式化分隔后的文本

ghostwu@dev:~/linux/awk$ cat ghostwu.txt
ghostwu--man
zhangsan--woman
lisi--woman ghostwu@dev:~/linux/awk$ awk -v FS=- '{printf "%s\t %s\t %s\n", $1, $2, $3}' ghostwu.txt
ghostwu man
zhangsan woman
lisi woman

5,常用的字符串格式化, 10s -10s.   10s:字符串宽度为10,不足10位,左边补空格,就形成了右对齐方式, -10s就是左对齐方式

ghostwu@dev:~/linux/awk$ awk -v FS="-" 'BEGIN{printf "%10s\t %10s\t %10s\n", "姓名", "年龄", "性别"}  {printf "%10s\t %10s\t %10s\n", $1, $2, $3 }' ghostwu.txt
姓名 年龄 性别
ghostwu man
zhangsan woman
lisi woman
ghostwu@dev:~/linux/awk$ awk -v FS="-" 'BEGIN{printf "%-10s\t %-10s\t %-10s\n", "姓名", "年龄", "性别"} {printf "%-10s\t %-10s\t %-10s\n", $1, $2, $3 }' ghostwu.txt
姓名 年龄 性别
ghostwu man
zhangsan woman
lisi woman

Linux常用基本命令:三剑客命令之-awk格式化动作的更多相关文章

  1. Linux常用基本命令:三剑客命令之-sed

    sed是一个很强大的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作 格式:sed [option] [command] [file] 常用命令: a   ∶新 ...

  2. Linux常用基本命令(less)

    转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...

  3. Linux 常用基本命令及应用技巧

    需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...

  4. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

  5. Linux中使用sed命令或awk命令修改常规配置文件

    一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...

  6. Linux 常用的压缩命令有 gzip 和 zip

    Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...

  7. Linux常用基本命令:三剑客命令之-awk基础用法

    awk是一个超级强大的文本格式化处理工具,他与grep, sed命令被成为linux 三剑客命令 三剑客命令的特点: grep:只要用来匹配和查找文本 sed: 编辑匹配到文本 awk: 格式化文本, ...

  8. Linux常用的基础命令总结

    man 查看英文命令帮助   可以看作--help 拷贝目录的命令cp -a  包含所有 ls -a 显示所有文件包括隐藏文件  -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) ...

  9. linux常用60条命令 转

    Linux必学的60个命令   Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...

随机推荐

  1. Oracle通过序列+触发器实现主键自增

    接触oracle没多久,在建表的时候发现还不会如何设置主键自动增长.和mysql的设置为AUTO_INCREMENT属性相比,要复杂很多,所以现在记录起来. 我使用的是序列+触发器的方式. 现在已经创 ...

  2. POJ3204 Ikki's Story I - Road Reconstruction

    Ikki's Story I - Road Reconstruction Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 7 ...

  3. 编译与解释(java)

    计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同 计算机不 ...

  4. java相关技术问答(一)

    网上一些没有标准答案的面试题,我自己做的解答总结,有任何异议可以提出来~^_^,不断更新中... Springboot除了自动配置与传统的spring还有哪些不同 传统的springweb项目需要部署 ...

  5. css高级选择器&盒模型

    css高级选择器&盒模型 1.组合选择器 群组选择器 /* 每个选择器为可以为三种基础选择器的任意一个,用逗号隔开,控制多个*/ div,.div,#div{ color:red } 后代(子 ...

  6. USB插入电脑的硬件检测和枚举流程

    USB协议定义了设备的6种状态,仅在枚举过程种,设备就经历了4个状态的迁移:上电状态(Powered),默认状态(Default),地址状态(Address)和配置状态(Configured)(其他两 ...

  7. Servlet-转发和重定向的区别

    实际发生位置不同,地址栏不同 转发是发生在服务器上的 转发是由服务器进行跳转的,细心的朋友会发现,在转发的时候,浏览器的地址栏是没有发生变化的,在我访问Servlet111的时候,即使跳转到了Serv ...

  8. 高效的 JavaScript

    避免使用 eval 或 Function 构造器 改写 eval 如果你需要函数,使用 function 不要使用 with 不要在要求性能的函数中使用 try-catch-finally 隔离 ev ...

  9. spring-session-data-redis解决session共享的问题

    分布式系统要做到用户友好,需要对用户的session进行存储,存储的方式有以下几种: 本地缓存 数据库 文件 缓存服务器 可以看一些不同方案的优缺点 1.本地机器或者本地缓存.优点:速度快  缺点:服 ...

  10. 设计模式教程(Design Patterns Tutorial)笔记之一 创建型模式(Creational Patterns)

    目录 · 概述 · Factory · What is the Factory Design Pattern? · Sample Code · Abstract Factory · What is t ...