测试常用命令之awk篇
awk/gawk
1,内置变量
FILENAME:输入文件名称
FNR:当前数据文件中的数据行数
NF:数据文件中的字段总数
NR:已处理的输入数据行数目
FS:输入数据段分隔符
RS:输入数据行分隔符
OFS:输出数据段分隔符(使用这个来控制和printf格式化可以试试,哪个更方便些)
ORS:输出数据行分隔符
$0一行数据,$1——$n各个字段的数据。
1)可以根据模式进行匹配,进一步的可以将匹配限定于特定字段中~
cat a.txt | awk '/2/{print $1}'
cat a.txt | awk '$1~3{print $1} '
甚至还可以对数学表达式和文本进行匹配:
cat a.txt | awk '$1==0{print $1}'
cat a.txt | awk '$1=="0"{print $1} '
2)加入条件判断(上面的模式匹配某种程度上也类似于条件判断)
if语句:
cat a.txt | awk '{if($1==2){x=$1*2;print x;}else{x=$1/2;print x}}'
另外,多条语句要么分成多行来写,要么最好加上分号。
cat a.txt | awk '{
> if($==)
> {
> x=$*
> print x
> }
> else
> {
> x=$/
> print x
> }
> }'
awk中的if语句分开书写
循环语句:
while语句:
cat a.txt | awk 'BEGIN{sum=0;i=0} {while(i<=2){sum=sum+$1;i++}} END{print sum}'
for语句:
cat a.txt | awk 'BEGIN{sum=0} {for(i=0;i<=2;i++){sum=sum+$1}} END{print sum}'
感觉while循环是控制整体的循环次数,但是for则是对每一行都进行一次循环。即使不加循环控制条件,中间{}语句也对各行进行计算
函数相关
awk有一些内置的函数,比如mktime时间函数,split等等,甚至还可以内置函数,这部分高级特性等后面用到的时候深入研究下吧
2,相关案例
示例文本
示例文本a.txt
cat a.txt | awk 'BEGIN{sum=0} {sum=sum+$1} END{print sum}'
计算各行数值的和
测试常用命令之awk篇的更多相关文章
- 【Monkey】Monkey稳定性测试常用命令
Monkey稳定性测试常用命令: 1.adb shell monkey n 2.adb shell monkey -p com.android.calculator2 1000 3.adb shel ...
- Linux常用命令-文本查看篇
前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat f ...
- GMS测试常用命令CTS>S&VTS
本文档介绍一下cts,gts,sts,vts,cts-on-gsi等测试的常用命令,基于Android9. [附件]Google官网的命令网页. 常用通用命令参数: 列出历史测试结果:l r 指定设备 ...
- Linux常用命令之awk
标题:awk命令的使用 作用:awk是非常好用的数据处理工具,主要处理每一行的字段内的数据,默认的字段的分割符为空格键或[tab]键 一.awk脚本的基本结构: awk 'BEGIN{print &q ...
- LINUX常用命令-系统配置篇(二)
学到一定程度了就会关注系统方面的一些配置,只是就需要相关的命令了.现在把Linux查看系统配置常用命令列出来 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/ ...
- linux常用命令--开发调试篇
前言 Linux常用命令中有一些命令可以在开发或调试过程中起到很好的帮助作用,有些可以帮助了解或优化我们的程序,有些可以帮我们定位疑难问题.本文将简单介绍一下这些命令. 示例程序 我们用一个小程序,来 ...
- 【操作系统之四】Linux常用命令之awk
一.概念awk是一个报告生成器,拥有强大的文本格式化能力. 数据可以来自标准输入(stdin).一个或多个文件,或其它命令的输出: 依次对每一行进行处理,然后输出: 它在命令行中使用,但更多是作为脚本 ...
- Linux 常用命令:解压缩篇
前言 Linux常用命令中,有很多用于对文件的压缩或解压,本文将介绍这些解压缩命令中不常见却非常实用的用法. tar tar是linux中最常用的解压缩命令.tar命令可用于处理后缀名为tar,tar ...
- LINUX常用命令大全归纳篇
su su命令是最基本的命令之一,常用于不同用户间切换. 例如,如果登录为 user1,要切换为user2,只要用如下命令: $su user2 然后系统提示输入user2口令,输入正确的口令之后就可 ...
随机推荐
- Node.js FS模块方法速查
1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参数是回调函数.回调函数的第一个参数往往是错误对象,如果没有发生参数,那么第一个参数可能 ...
- vue城市选择组件
适用于vue的城市选择组件 仓库地址 基本功能: 支持全选.反选以及全部清空. 支持按拼音筛选. 勾选省份将会勾选省份下所有城市. 返回数据可灵活处理. 安装 npm install cn-regio ...
- poj2186--tarjan+缩点(有向图的强连通分量中点的个数)
题目大意: 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也 ...
- python图形图像处理--验证码的制作
from PIL import Image,ImageDraw,ImageFontimport randomfrom io import BytesIO class code(): def __ini ...
- net 网站过滤器 mvc webapi
WebApi过滤器1 public class TestController : ApiController { /// <summary> /// 获取用户信息 /// </sum ...
- C++ 6小时刷完面向对象
**本篇博文参考视频见我上一篇博文的第一行**### 类和对象的声明- 类的声明```class People{ int a; void fun(){ cout<<"fun&qu ...
- Spring Framework Part3 IoC and Dynamic Proxy
spring serious of blog edit by 马士兵教育 Maven方式创建Spring工程 工程创建 1.新建项目 选择Maven Project 2.勾选 Create a sim ...
- Jmeter之cookie的处理方式,token处理
cookie是什么 由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,这就说明服务器单从网络连接上是没有办法知道用户身份的.怎么办呢?那就给每次新的用户 ...
- 最简单的Android项目(NDK命令行编译)
Android的NDK编程需要下载NDK编译环境,可以从官网下载window64位版,然后解压到任意目录即可. NDK的实现其实是利用里Java的jni方法,所以前期的步骤可以参考jni的实现方法,只 ...
- Linux 系统分类
linux系统,主要分debian系和redhat系,还有其它自由的发布版本. 1.debian系主要有Debian,Ubuntu,Mint等及其衍生版本: 2.redhat系主要有RedHat,Fe ...