三剑客-awk(简写)
特殊要点:
$0 表示整个当前行
$1 每行第一个字段
NF 字段数量变量
NR 每行的记录号,多文件记录递增
OFS 输出字段分隔符, 默认也是空格,可以改为制表符等
ORS 输出的记录分隔符,默认为换行符,即处理结果也是一行一行输出到屏幕
-F'[:#/]' 定义三个分隔符
只查看testfile文件(100行)内第20到第30行的内容:
awk '{if(NR>=2 && NR<=3) print $1}' testfile(sed:sed -n '2,3p' testfile)
Hello,Chen mei mei! Where are you?提取出Chen Where:
echo 'Hello,Chen mei mei! Where are you?'|awk -F '[,! ]+' '{print $2,$5}'
(多一个加号表明将连续出现的记录分隔符当做一个来处理)
BEGIN END 模块
统计某个文件夹下的文件占用的字节数
ll|awk 'BEGIN {size=0}{size=size+$5}END{print size}'
例题
$1与$3相连输出,不分隔 awk -F: '{print $1$3}'
多了一个逗号,$1与$3使用空格分隔 awk -F: '{print $1,$3}'
$1与$3之间手动添加空格分隔 awk -F: '{print $1" "$3}'
自定义输出 awk -F: '{print "username:"$1"\tuid:"$3}'
显示每行有多少字段 awk -F: '{print NF}'
将每行第NF个字段的值打印出来 awk -F: '{print $NF}'
显示只有7个字段的行 awk -F: 'NF==7{print}' passwd
显示每行字段数量大于等于7的行 awk -F: 'NF>=7{print}' passwd
输出每行的行号 awk -F: '{print NR,$0}' passwd
依次打印行号,字段数,最后字段值,制表符,每行内容 awk -F: '{print NR,NF,$NF,"\t"$0}'
显示第5行 awk -F: 'NR==5{print}' passwd
显示第5行和第6行 awk -F: 'NR==5||NR==6{print}' passwd
不显示第一行 awk -F: 'NR!=1{print}' passwd (sed -n '1!p' passwd)
输出第一列和第二列 awk -F: '{print $1,$2}' passwd
分别打印第一列和第二列(分行输出) awk -F: '{print $1; print $2}' passwd
分别打印1,3,6列,输出结果用制表符分隔 awk -F ':' '{print $1,$3,$6}' OFS="\t" passwd
三剑客-awk(简写)的更多相关文章
- 性能工具之linux三剑客awk、grep、sed详解
前言 linux 有很多工具可以做文本处理,例如:sort, cut, split, join, paste, comm, uniq, column, rev, tac, tr, nl, pr, he ...
- Linux三剑客awk
Linux三剑客awk awk是一个强大的linux命令,有强大的文本格式化的能力,好比将一些文本数据格式化成专业的excel表的样式 awk早期在Unix上实现,我们用的awk是gawk,是GUN ...
- Linux 三剑客 -- awk sed grep
本文由本人收集整理自互联网供自己与网友参考,参考文章均已列出,如有侵权,请告知! 顶配awk,中配sed,标配grep awk 参考 sed 参考 grep 参考 在线查看linux命令速记表 app ...
- 文本三剑客---awk(gawk)基础
gawk程序是Unix中原始awk程序的GNU版本.gawk程序让流编辑器迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令.在gawk编程语言中,可以完成下面的事情: (1)定义变量来保存数 ...
- Linux三剑客-AWK
1.什么是awk AWK是一种处理文本文件的语言,是一个强大的文本分析工具.有统计和计算功能. 之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Br ...
- 三剑客-awk
1.作用特点 排除信息 查询信息 统计信息 替换信息 2.语法格式 awk [参数] '模式-动作' 文件 3.awk命令执行原理 4.命令使用方法 创建测试环境 [root@shuai ~]# ca ...
- linux100day(day4)--文本处理三剑客
在介绍三剑客之前,先来认识一下通配符和正则表达式 通配符 正则表达式 作用:通过一些特殊字符,来表示一类字符内容 1.字符匹配 . 任意一个字符 [ ] 范围内的任意一个字符 [^ ] 取 ...
- 处理海量数据的grep、cut、awk、sed 命令
grep.cut.awk.sed 常常应用在查找日志.数据.输出结果等等,并对我们想要的数据进行提取. 通常grep,sed命令是对行进行提取,cut跟awk是对列进行提取 处理海量数据之grep命令 ...
- awk基础学习
2019-12-20 需要巧记,很多格式,学习难度:grep.sed.awk awk知识概述 1三剑客awk命令介绍2三剑客awk命令执行原理语法结构3三剑客awk命令实操练习查询替换信息排除(取反) ...
随机推荐
- 前世今生:Hive、Shark、spark SQL
Hive (http://en.wikipedia.org/wiki/Apache_Hive )(非严格的原文顺序翻译) Apache Hive是一个构建在Hadoop上的数据仓库框架,它提供数据的 ...
- synchronized三种使用方式,及锁的类型验证
Synchronized常用三种使用方式 1.修饰普通方法:锁对象即为当前对象 2.修饰静态方法:锁对象为当前Class对象 3.修饰代码块:锁对象为synchronized紧接着的小括号内的对象 一 ...
- NullPointerException 没有堆栈
周五在公司搭好的ELK上查看日志,组长让看看其中NullPointerException出现很多的原因. 通过NullPointerException搜索,点看其中一个查看,发现异常的信息就一行jav ...
- hibernate ifnull
mysql中sql语句的ifnull函数,在hibernate的hql中可用coalesce代替. 例: mysql的sql:select ifnull(max(sort),0) from table ...
- GitHub:Facebook
ylbtech-GitHub:Facebook 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. https://github.com/facebook 2. ...
- SV服务器
什么是服务端? 就是安装了服务端软件的电脑 下载 VisualSVN是一款图形化svn服务器. 官 网: http://www.visualsvn.com/server/ 下载地址: http://w ...
- C# Await
每次提到异步我都选择绕开,感觉深不可测,最近打算看看异步,但又不愿意看书,网上找了几个视频看,发现传智播客的老师讲异步都不是很深入,关键的问题一笔带过,倒是把我弄糊涂了,印象最深刻的是那个老师说的一句 ...
- golang(06)函数介绍
原文链接 http://www.limerence2017.com/2019/09/11/golang11/#more 函数简介 函数是编程语言中不可缺少的部分,在golang这门语言中函数是一等公民 ...
- C基础知识(10):预处理器
C预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤.简言之,C预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理. 所有的预处理器命令都是以井号(#)开 ...
- C基础知识(5):指针--传递指针给函数&返回指针的函数
下面从3个代码例子分别讲述以下2个知识点: (1) 传递指针给函数(参数类型为指针) (2) 返回指针的函数(返回类型为指针) #include <stdio.h> // 传递指针给函数& ...