Linux常用基本命令:三剑客命令之-awk格式化动作
我们之前说过,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格式化动作的更多相关文章
- Linux常用基本命令:三剑客命令之-sed
sed是一个很强大的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作 格式:sed [option] [command] [file] 常用命令: a ∶新 ...
- Linux常用基本命令(less)
转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...
- Linux 常用基本命令及应用技巧
需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...
- ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘
本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...
- Linux中使用sed命令或awk命令修改常规配置文件
一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...
- Linux 常用的压缩命令有 gzip 和 zip
Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...
- Linux常用基本命令:三剑客命令之-awk基础用法
awk是一个超级强大的文本格式化处理工具,他与grep, sed命令被成为linux 三剑客命令 三剑客命令的特点: grep:只要用来匹配和查找文本 sed: 编辑匹配到文本 awk: 格式化文本, ...
- Linux常用的基础命令总结
man 查看英文命令帮助 可以看作--help 拷贝目录的命令cp -a 包含所有 ls -a 显示所有文件包括隐藏文件 -ld ls -F 过滤目录文件(给不同类型文件结尾加上不同的符号) ...
- linux常用60条命令 转
Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...
随机推荐
- Oracle通过序列+触发器实现主键自增
接触oracle没多久,在建表的时候发现还不会如何设置主键自动增长.和mysql的设置为AUTO_INCREMENT属性相比,要复杂很多,所以现在记录起来. 我使用的是序列+触发器的方式. 现在已经创 ...
- POJ3204 Ikki's Story I - Road Reconstruction
Ikki's Story I - Road Reconstruction Time Limit: 2000MS Memory Limit: 131072K Total Submissions: 7 ...
- 编译与解释(java)
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同 计算机不 ...
- java相关技术问答(一)
网上一些没有标准答案的面试题,我自己做的解答总结,有任何异议可以提出来~^_^,不断更新中... Springboot除了自动配置与传统的spring还有哪些不同 传统的springweb项目需要部署 ...
- css高级选择器&盒模型
css高级选择器&盒模型 1.组合选择器 群组选择器 /* 每个选择器为可以为三种基础选择器的任意一个,用逗号隔开,控制多个*/ div,.div,#div{ color:red } 后代(子 ...
- USB插入电脑的硬件检测和枚举流程
USB协议定义了设备的6种状态,仅在枚举过程种,设备就经历了4个状态的迁移:上电状态(Powered),默认状态(Default),地址状态(Address)和配置状态(Configured)(其他两 ...
- Servlet-转发和重定向的区别
实际发生位置不同,地址栏不同 转发是发生在服务器上的 转发是由服务器进行跳转的,细心的朋友会发现,在转发的时候,浏览器的地址栏是没有发生变化的,在我访问Servlet111的时候,即使跳转到了Serv ...
- 高效的 JavaScript
避免使用 eval 或 Function 构造器 改写 eval 如果你需要函数,使用 function 不要使用 with 不要在要求性能的函数中使用 try-catch-finally 隔离 ev ...
- spring-session-data-redis解决session共享的问题
分布式系统要做到用户友好,需要对用户的session进行存储,存储的方式有以下几种: 本地缓存 数据库 文件 缓存服务器 可以看一些不同方案的优缺点 1.本地机器或者本地缓存.优点:速度快 缺点:服 ...
- 设计模式教程(Design Patterns Tutorial)笔记之一 创建型模式(Creational Patterns)
目录 · 概述 · Factory · What is the Factory Design Pattern? · Sample Code · Abstract Factory · What is t ...