linux基础之awk命令详解
一 awk主要是用来对指定对文本或者命令的输出逐行处理和分析的,下面来简单的看一下awk用法,方便以后需要使用的时候在回头看
1.1 基础的用法
[root@wxm ~]# cat test
1 zs 38
2 ls 39
3 ww 40
[root@wxm ~]# awk 'BEGIN {print "start_num","start_name","start_age"} {print"xuhao:"$1,"name:"$2,"age:"$3} END {print "end_num","end_name","end_age"}' test
start_num start_name start_age
xuhao:1 name:zs age:38
xuhao:2 name:ls age:39
xuhao:3 name:ww age:40
end_num end_name end_age
用法介绍:
awk基础用法是用来逐行的对文本文档或者命令输出的结果进行解析,并且支持自定义添加,和添加输出的行首以及行尾,具体用法以及效果入上所示。
1.2 值得一提的是还有一个$0以及$NF以及$(NF-n)用法
$NF表示的是被切割完成之后的最后一行也就是倒数第一行,而$(NF-n)表示的则是,倒数n+1表示的内容,来看一下下面的几个例子
[root@wxm ~]# awk '{print$(NF-1)}' test
zs
ls
ww
[root@wxm ~]# awk '{print$(NF-2)}' test
1
2
3
[root@wxm ~]# awk '{print$(NF0)}' test
1 zs 38
2 ls 39
3 ww 40
[root@wxm ~]# awk '{print$(NF)}' test
38
39
40
1.3 对于文本我们可以指定任意的输入分隔符以及任意的输出分隔符来对awk后面滴滴内容进行输出展示,例如
[root@wxm ~]# awk -v FS=' ' -v OFS=' ' '{print$1,$2,$3}' test
1 zs 38
2 ls 39
3 ww 40
用法解释: FS和OFS都为awk里面的变量,需要使用-v的参数引入,之后FS表示输入分隔符,针对awk命令的分割选项, OFS是输出分隔符,针对awk的标准输出符号
linux基础之awk命令详解的更多相关文章
- Linux三剑客之awk命令详解
一.awk介绍 AWK是一种优良的文本处理工具.它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho .Pet ...
- 【Linux基础】ps命令详解
PS命令介绍 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动 ...
- 【Linux基础】iconv命令详解(编码转换)
对于给定文件把它的内容从一种编码转换成另一种编码. iconv -f GBK -t UTF- file1 -o file2 //将GBK转换为UTF8,输出到file2.没-o那么会输出到标准输出 i ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- linux awk命令详解,使用system来内嵌系统命令, awk合并两列
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- 【Linux基础】awk命令
1.awk命令说明 (1)awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 (2)awk处理过程: 依次对每一行进行处理,然后输出 ...
- shell编程之awk命令详解
shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; out ...
- Linux基础知识之挂载详解(mount,umount及开机自动挂载)
Linux基础知识之挂载详解(mount,umount及开机自动挂载) 转载自:http://www.linuxidc.com/Linux/2016-08/134666.htm 挂载概念简述: 根文件 ...
- Shell学习(五)—— awk命令详解
一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报 ...
- Linux上的free命令详解、swap机制
Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...
随机推荐
- [HAOI2007,P2216,BZOJ1047]理想的正方形单调队列解法
题目描述 有一个 \(a \times b\) 的整数组成的矩阵,现请你从中找出一个 \(n \times n\) 的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入格式 第一行为 \( ...
- 深度解析 Spring Security:身份验证、授权、OAuth2 和 JWT 身份验证的完整指南
Spring 安全框架 Spring Security 是一个用于保护基于 Java 的应用程序的框架.它是一个功能强大且高度可定制的身份验证和访问控制框架,可以轻松地集成到各种应用程序中,包括 We ...
- Asp .Net Core 系列:集成 Refit 和 RestEase 声明式 HTTP 客户端库
背景 .NET 中 有没有类似 Java 中 Feign 这样的框架?经过查找和实验,发现 在 .NET 平台上,虽然没有直接的 Feign 框架的端口,但是有一些类似的框架和库,它们提供了类似的功能 ...
- 实训篇-Html-多媒体标签
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 从零开始写 Docker(十一)---实现 mydocker exec 进入容器内部
本文为从零开始写 Docker 系列第十一篇,实现类似 docker exec 的功能,使得我们能够进入到指定容器内部. 完整代码见:https://github.com/lixd/mydocker ...
- lattice,altera,xilinx三合一的图像转rom,mif软件
免费发一个软件, 图像转成文件. 下载地址:https://files.cnblogs.com/files/fpga-design/image_mif08030.zip
- 【笔记】oracle INTERSECT指令&邮箱的正则匹配&trim()函数
[笔记]oracle INTERSECT 和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的. 不同的地方是, UNION 基本上是一个 OR (如果这个值存 ...
- SELECT...FROM 表 a,( SELECT...FROM...WHERE...) tc...的一些注意以及多字段之间的模糊查询
将sql查询结果作为一个表来查询的时候的一些注意事项 因为工作,发现了这种sql的写法,但是有的时候感觉并不是自己想要的结果,自己试着玩了属于是 简单来说,这个查询并不是拼接结果的,而是将结果按照一个 ...
- 力扣231(java)-2的幂(简单)
题目: 给你一个整数 n,请你判断该整数是否是 2 的幂次方.如果是,返回 true :否则,返回 false . 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方. 示例 ...
- 技术解读:Dragonfly 基于 P2P 的智能镜像加速系统 | 龙蜥技术
简介: 结合 Dragonfly 子项目 Nydus 进行按需加载可以最大限度提升镜像下载速度. 编者按:上世纪末期,基于 C/S 模式的思想,人们发展了 HTTP . FTP 等应用层协议.然而 C ...