测试常用命令之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口令,输入正确的口令之后就可 ...
随机推荐
- python处理json文件(Yelp数据集)
python脚本处理yelp数据集 import sys import json import re import os import time if __name__ == '__main__': ...
- Hadoop基础概念
Apache Hadoop有2个核心的组件,他们分别是: HDFS: HDFS是一个分布式文件系统集群,它可以将大的文件分裂成块并将他们冗余地分布在多个节点上,HDFS是运行在用户空间的文件系统 Ma ...
- python3小demo
总结常用的功能小实例,快速学习并掌握python技能 1.墨迹天气 import requests from lxml.html import etree import json import tim ...
- php强大的filter过滤用户输入
<?php $filters = array //定义过滤的数组 ( "name" => array ( "filter"=>FILTER_S ...
- 2019-11-29-C#-标准性能测试高级用法
title author date CreateTime categories C# 标准性能测试高级用法 lindexi 2019-11-29 10:13:16 +0800 2018-07-08 0 ...
- 一、Linux平台部署ASP.NET、ASP.NET CORE、PHP
一.什么是Jexus Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关服务器,以支持ASP.NET.ASP.NET CORE.PHP为特色,同时具备反向代理.入侵检测等重要功能.可以 ...
- mongodb,robomongo 数据查询
可视化管理工具:Robomongo 是开源,免费的MongoDB管理工具,下载地址:Robomongo下载 1. 基本查询: 构造查询数据. > db.test.findOne() ...
- regsvr32 驱动
1.将SYS驱动文件放到系统目录的SYSTEM32目录中.2.按WIN+R组合键,在运行框中输入:regsvr32 sys所在全路径,点击确定即可.
- 常用命令之------tcpdump
语法: tcpdump [options] [not] proto dir type 案例 tcpdump -i eth0 host 192.168.1.1 and icmp -n -w /tmp/t ...
- 关于mysql备份与恢复的操作
逻辑备份:将数据库的数据以逻辑的SQL语句的方式导出 mysqldump备份数据库 备份数据并带创建数据库 (含数据) mysqldump -uroot -p'123456' -B dbname &g ...