awk常用基础命令(ing)

作者: Kedi | 来源:发表于2016-10-23 23:24 被阅读234次

Awk

1. 打印文件的某列:

awk '{print $2}' handdata
注:handdata为文件名,其中的$1..$n表示第几例。注:$0表示整个行

2. 过滤记录:

awk '$2==0 ' handdata
注:筛选出第二列为零的
awk '$2==0 && $3>10' handdata
注:筛选出第二列等于0,第三列>10的
筛选等于字符串的条件需要用双引号
awk '$2==”xxx”' handdata
awk '$2==0 && $3>10 {print $0}' handdata
注:筛选出第二列等于0,第三列>10的后,打印全部
如果我们需要表头的话,我们可以引入内建变量NR
Eg:awk '$2==0 && $3>10 || NR==1' handdata

3. awk指定分隔符

FS : 输入字段分隔符,默认空白(空格或者tab)。
RS : 输入行分隔符,默认\n。
OFS : 输出字段分隔符,默认空格。
ORS : 输出行分隔符,默认\n
cat tcomvv160907 |awk -F"\t" '{print $16}'|more
打印 tcomvv160907文件按\t分割的第十六列
cat tcomvv160907 |awk -F"\t" '$16==0 {print $0}'
指定输入输出分隔符
head -n 5000 part-m-00000 |awk 'BEGIN{FS="\001";OFS="\t"} $30 == "电子商务" {print $1,$30}'
代码中输入分隔符为\001,输出分隔符为\t
统计某一列不重复的数量
awk -F"\001" '{cnt[$19]=1}END{print length(cnt)}' part-m-00000

4.对列求和:

cat session160905new|awk '{sum+=$2} END {print "Sum = ", sum}'

5.或操作

验证第三个字的值是否在1-20范围内,可以打印出不符合要求的数据来验证,使用了默认处理{print $0}(不指定Action则使用默认的Action):
awk -F',' '$3<1 || $3>20' data.csv

6.处理一个大日志文件,只想随机抽取其中一些样本来进行分析

awk 'rand()<0.1' log.csv > sample.csv
在模式中,使用了rand()函数来随机产生0,1之间的小数,只有当前产生的值小于0.1才打印当前行,即只随机抽取10%的数据作为样本。

7.倒数

打印日志的字段数使用变量NF,最后一列数据使用变量$NF,倒数第二列使用$(NF-1):
$ awk '{print NF, $NF,$(NF-1)}' log.csv

相关文章

  • awk常用基础命令(ing)

    Awk 1. 打印文件的某列: awk '{print $2}' handdata注:handdata为文件名,...

  • Linux

    linux awk命令详解、linux awk命令Linux常用操作指令Linux netstat命令详解 awk...

  • 日志分析

    命令grep、awk、sort、uniq常用示例

  • Linux常用命令总结

    Linux常用命令指南 @Date 2017.05.23 tail awk awk ' pattern {acti...

  • Linux 常用命令总结

    linux 命令速查手册linux 常用操作命令 sed 简明教程 awk 简明教程 常用命令 ls ...

  • Linux 学习笔记(十四):Linux 正则表达式基础

    grep 命令 作为linux中最为常用的三大文本(awk(Linux awk教程),sed(Linux sed教...

  • linux-awk常用命令

    linux-awk常用命令 awk从放弃到入门[https://www.zsythink.net/archives...

  • Linux 命令之awk

    awk使用教程: awk调用方式,常用三种 1.命令行调用(重点介绍) 常用格式框架: 说明:-F 指定分割符,...

  • 文字处理

    Linux 下进行字符串操作最常用的三个命令: awk (检索) sed (编辑) grep (匹配) awk 语...

  • awk 使用笔记

    基础语法说明 awk 是按分割符进行行处理的工具 1. 命令参数说明 基本命令格式 awk 'BEGIN{ pri...

网友评论

    本文标题:awk常用基础命令(ing)

    本文链接:https://www.haomeiwen.com/subject/sawkuttx.html