我们之前说过,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. Beta阶段冲刺集合贴

    第零篇准备博客:https://www.cnblogs.com/coolgirls/p/9066239.html 第一篇冲刺博客:https://www.cnblogs.com/coolgirls/p ...

  2. Unity面试题2

    1.Animation.CrossFade命令作用是(C) A 动画消失 B动画转换 C东环的淡入为其他动画 2.Application.loadedLevel命令为(A) A加载关卡 B异步加载关卡 ...

  3. Learning WCF:Fault Handling

    There are two types of Execptions which can be throwed from the WCF service. They are Application ex ...

  4. jquery中$().each() 和$.each()

    // 形参1: 当前的下标 // 形参2: 当前的dom节点元素 $('#div1').find('div').each(function (i, item) { // this === item 当 ...

  5. Jenkins高危代码执行漏洞检测/开源漏洞靶场

    漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...

  6. Android NDK学习(六): so文件兼容之abiFilters的使用

    最近项目中遇到了要使用opencv的情况,涉及到了abi兼容的选择.因为如果全部都适配的话,包很大,这样兼容那些用户数极少的cpu就很不划算,所以我只适配了armeabi-v7a这一个.但是今天在x6 ...

  7. js中的块级作用域

    概述 函数是js中最常见的作用域单元, 声明在一个函数内部的变量或函数会在所处的作用域中隐藏起来, 这是有意为之的非常好的设计原则. 但是随着js的发展, 我们有了某个代码块(通常指{..}内部)隐藏 ...

  8. web API简介(三):客户端储存之Web Storage API

    概述 前篇:web API简介(二):客户端储存之document.cookie API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. W ...

  9. harbor镜像仓库-02-https访问配置

    harbor镜像仓库-02-https访问配置 harbordockerhttps harbor搭建部署参考上一章节 harbor镜像仓库-01-搭建部署 Harbor默认使用http,给harbor ...

  10. HoloLens开发手记 - HoloLens上的应用视图 App views on HoloLens

    运行在HoloLens上的应用可能包含2种视图,分别是全息视图和2D视图.应用可以在全息视图和2D视图之间转换,这常被用于访问系统提供的接口,例如虚拟键盘.拥有至少一个全息视图的应用被归类为全息应用. ...