命令格式:
awk '{commands} [{other commands}]'
awk 'condition{commands} [{other commands}]' 如:awk '$4=="gold"{print $0}' xxx.txt —— 打印第四列为gold的行 {$0 $1 $2 ...}: $0表示整行,$1表示第一列,$2表示第二列…… NR: number of record,{print $NR, $0}可以给行加上行号
NF: number of fields,每个记录的列数(默认空格分割计数) 打印第7行: awk 'NR==7{print $0}' test.txt
打印有10列的行: awk 'NF==10{print $0}' test.txt
打印最后一列: awk '{print $NF}' xxx
打印倒数第二列: awk '{print $(NF-1)}' xxx {print $1, $2} 中的逗号表示使用默认输出分隔符连接1,2列并打印。(默认是空格)
{print $1$2} 和 {print $1 $2} 等效,第1,2列直接连接,中间没有分隔符。(即输出语句的空格表示直接连接) 定义变量:
awk 'BEGIN{在这里定义} {后续命令}'
内建变量:
FS:输入分隔符
OFS:输出分隔符 (O,不是零) 自定义输入分隔符使用逗号:
awk 'BEGIN{FS=","} {print $1, $2}' test.txt
自定义输出分隔符使用逗号:
awk 'BEGIN{FS=","; OFS=","} {print $1, $2}'

算术运算、

字符串和数字自动转换、

字符串和数字运算时自动parse开头的数字

使用正则

awk '/正则式/{命令}' xxx
awk '/abc/{print $0}' xxx 打印包含abc的行 正则式简介:
1. /abc/ 包含abc
2. /^abc$/ 匹配开头和结束
3. . 任意字符或空格
4. 转义 \. \? \/
5. 中括号
[xyz] 匹配xyz中的任意一个字符
[a-z] 匹配a-z范围内任意字符
[a-zA-Z]
[^a-z] ^放在中括号中表示不匹配,如 /a[^a-z]c/ 可以匹配 aBc,不能匹配abc
6. 数量:
* 0次或若干次
+ 1次或若干次
? 0次或1次
{a,b} 指定出现a~b次数,如{3}表示出现3次,{4,9} 表示可以出现4,5,6,7,8,9次
7. () 匹配的单位,如 /(ab){3}/ 要求包含ababab

总结下awk基本用法的更多相关文章

  1. Linux sed 和 awk的用法

    sed用法: 原文链接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管 ...

  2. gawk(awk)的用法案例

    gawk(awk)的用法案例 本文首先简单介绍一个gawk和awk的区别,然后是一点基本使用流程,最后是自己做的一个分析数据文件的脚本代码,供大家参考.另外想了解基本流程的入门知识的可以下载附件pdf ...

  3. <三剑客> 老大:awk命令用法

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一 个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是lin ...

  4. awk命令_Linux awk 命令用法详解

    本文索引 awk命令格式和选项 awk模式和操作 模式 操作 awk脚本基本结构 awk的工作原理 awk内置变量(预定义变量) 将外部变量值传递给awk awk运算与判断 算术运算符 赋值运算符 逻 ...

  5. xss其他标签下的js用法总结大全

    前段时间我遇到一个问题,就是说普通的平台获取cookie的语句为↓           Default <script src=js地址></script> 1 <scr ...

  6. ava下static关键字用法详解

    Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static ...

  7. Linux下find命令用法详解

    Linux下find命令用法详解   学神VIP烟火 学神IT教育:XueGod-IT   最负责任的线上直播教育平台   本文作者为VIP学员 烟火   第一部分:根据文件名查找   1.在当前目录 ...

  8. StringBuilder在高性能场景下的正确用法

    转载:<StringBuilder在高性能场景下的正确用法> by 江南白衣 关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不 ...

  9. 文本处理三剑客之AWK的用法

    1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...

随机推荐

  1. CentOS使用手册(三)

    前言: 目录:暂时不写,因为有些实验,比如负载均衡,反向代理,配置ssl等实验来不及做.所以这篇随笔还需日后补充(排版以后慢慢调,现在该做平台分析系统了) Linux中Mongodb4.x安装调试.远 ...

  2. Vue-基础(一)

    一.Vue中的常用指令 什么是指令? 指令就是vue中提供的一些对于页面和数据更为方便的操作, 指令就是以数据去驱动DOM行为的,简化DOM的操作 常用指令 v-text / v-html :用于为标 ...

  3. C中进制, 原码, 反码与补码的简单用法

    /** * 二进制 binary 如: 1010 * 八进制 octal 如: 070 * 十六进制 hexadecimal 如: 0x7f * * 1Byte = 8bits * 1WORD = 2 ...

  4. Ubuntu中实现Docker内安装jenkins+jenkins远程触发

    前面做了在ubuntu中安装jenkins+docker实现自动部署,但是得安装jdk8+tomcat8环境,比较麻烦,因此本文记录如何将jenkins直接装在dockers内并且实现远程触发功能. ...

  5. Java使用SSH远程访问Windows并执行命令

    转载于:http://blog.csdn.net/carolzhang8406/article/details/6760430   https://blog.csdn.net/angel_xiaa/a ...

  6. org.apache.http.client.HttpClient使用方法

    一.org.apache.commons.httpclient和org.apache.http.client区别(转)   官网说明: http://hc.apache.org/httpclient- ...

  7. bootsrap 按钮样式

    <!-- Standard button --> <button type="button" class="btn btn-default"& ...

  8. webpack中的url-loader

    使用url-loader引入图片,可以说它是file-loader的增强版 url-loader会把我们的图片使用base64的形式编码成另外一种字符串,网页是可以识别这种编码的东西的,这样的好处是, ...

  9. PAT甲级——A1144 TheMissingNumber【20】

    Given N integers, you are supposed to find the smallest positive integer that is NOT in the given li ...

  10. activiti7删除流程定义的相关信息

    package com.zcc.activiti02; import org.activiti.engine.ProcessEngine;import org.activiti.engine.Proc ...