变量 描述
$n 当前记录的第n个字段,字段间由FS分隔。
$0 完整的输入记录。
ARGC 命令行参数的数目。
ARGIND 命令行中当前文件的位置(从0开始算)。
ARGV 包含命令行参数的数组。
CONVFMT 数字转换格式(默认值为%.6g)
ENVIRON 环境变量关联数组。
ERRNO 最后一个系统错误的描述。
FIELDWIDTHS 字段宽度列表(用空格键分隔)。
FILENAME 当前文件名。
FNR 同NR,但相对于当前文件。
FS 字段分隔符(默认是任何空格)。
IGNORECASE 如果为真,则进行忽略大小写的匹配。
NF 当前记录中的字段数。
NR 当前记录数。
OFMT 数字的输出格式(默认值是%.6g)。
OFS 输出字段分隔符(默认值是一个空格)。
ORS 输出记录分隔符(默认值是一个换行符)。
RLENGTH 由match函数所匹配的字符串的长度。
RS 记录分隔符(默认是一个换行符)。
RSTART 由match函数所匹配的字符串的第一个位置。
SUBSEP 数组下标分隔符(默认值是\034)。

awk把每一个以换行符结束的行称为一个记录。

记录分隔符:默认的输入和输出的分隔符都是回车,保存在内建变量ORS和RS中。

$0变量:它指的是整条记录。如$ awk '{print $0}' test将输出test文件中的所有记录。

变量NR:一个计数器,每处理完一条记录,NR的值就增加1。如$ awk '{print NR,$0}' test将输出test文件中所有记录,并在记录前显示记录号。

记录中每个单词称做“域”,默认情况下以空格或tab分隔。awk可跟踪域的个数,并在内建变量NF中保存该值。如$ awk '{print $1,$3}' test将打印test文件中第一和第三个以空格分开的列(域)。

内建变量FS保存输入域分隔符的值,默认是空格或tab。我们可以通过-F命令行选项修改FS的值。如$ awk -F: '{print $1,$5}' test将打印以冒号为分隔符的第一,第五列的内容。

可以同时使用多个域分隔符,这时应该把分隔符写成放到方括号中,如$awk -F'[:\t]' '{print $1,$3}' test,表示以空格、冒号和tab作为分隔符。

输出域的分隔符默认是一个空格,保存在OFS中。如$ awk -F: '{print $1,$5}' test,$1和$5间的逗号就是OFS的值。

AWK学习笔记四:awk的环境变量相关推荐

  1. 【Linux学习笔记】27:环境变量中的语系变量

    语系就是用的是什么人类语言,本节专门学习环境变量中的语系变量. [1]locale确定系统当前语系 [root@bogon ~]# locale LANG=zh_CN.UTF-8 LC_CTYPE=& ...

  2. awk学习笔记(10) - 数组

    awk中的数组 awk中的数组跟php中的很像,使用前都不需要声明,都可以用字符串做下标. 我们创建一个reg.dat文件来记录用户选修的课程: Mary O.S. Arch. Discrete St ...

  3. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码

    吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...

  4. Kotlin学习笔记(1)- 环境配置

    系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...

  5. RK3399学习笔记 1.0.3---python环境 Firefly Core-3399pro-jd4 Win10上RKNN工具安装

    RK3399学习笔记 1.0.3---python环境 Firefly Core-3399pro-jd4 Win10上RKNN工具安装 读取模型各层 1,最好在Conda下新建一个虚拟环境进行安装. ...

  6. STM32F103学习笔记四 时钟系统

    STM32F103学习笔记四 时钟系统 本文简述了自己学习时钟系统的一些框架,参照风水月 1. 单片机中时钟系统的理解 1.1 概述 时钟是单片机的脉搏,是单片机的驱动源 用任何一个外设都必须打开相应 ...

  7. JavaScript学习笔记(四)(DOM)

    JavaScript学习笔记(四) DOM 一.DOM概述 二.元素对象 2.1 获取方式 (1).通过ID获取一个元素对象,如果没有返回null (2).通过`标签名`获取一组元素对象,,如果没有返 ...

  8. 华清远见fs4412开发板学习笔记(四)

    fs4412开发板学习笔记(四) 今天的课程安排 1.复习 1.1 VIM 编辑器 [1] vim + filename 打开 [2] 工作模式 命令模式 编辑模式 底行模式 [3] 模式切换 命令- ...

  9. MySQL高级学习笔记(四)

    文章目录 MySQL高级学习笔记(四) 1. MySql中常用工具 1.1 mysql 1.1.1 连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 ...

  10. LabView学习笔记(七):变量与移位寄存器

    Labview学习笔记: LabView学习笔记(一):基础介绍 LabView学习笔记(二):滤波器实验 LabView学习笔记(三):基本控件 LabView学习笔记(四):动态数据类型 LabV ...

最新文章

  1. Python 字符串前面加u,r,b的含义
  2. Fiori UI上创建的note和web client UI上note的对应关系
  3. 运行Hadoop自带的wordcount单词统计程序
  4. python连载第12篇 for循环 源码+ 答案
  5. UI设计灵感|有声读物APP界面设计
  6. Leetcode 261.以图判树
  7. c 远程登陆linux,Linux C/C++基础——Windows远程登录Linux
  8. css实现圆球旋像水波波动_66 个超有用的CSS 特效!
  9. Zotero使用记录----1 下载与安装
  10. Spring核心内容
  11. [Win] 免登录百度网盘高速下载器 ENFI下载器 v1.3.1
  12. PostgreSQL 设置远程访问
  13. 创新创业名词解释_大学生创新创业指导_知到网课答案
  14. anaconda安装dlib出现ImportError: libopenblas.so.0: cannot open shared object file***
  15. gunicorn flask的请求流程
  16. Android 8.1输入法配置
  17. JavaScript:在一段时间不连续的数据中获取某一段时间段内相同时间间隔的数据
  18. 如何优化路由器TP_Link AX1800 Wi-Fi6的稳定性 - “普联TL-XDR1860易展版“
  19. squirrelmail 小松鼠的安装和配置
  20. 怎样创建网页快捷方式,用非默认浏览器打开该网页

热门文章

  1. 宏基电脑安装系统提示acpi错误_电脑常见问题怎么排除 电脑常见问题排除技巧【详解】...
  2. 国内主要的ubuntu 源
  3. 国内外优秀音视频博客
  4. Ubuntu下使用VI编辑文件必知的常用命令
  5. 基于ubuntu的tcpdump抓包总结
  6. java “lambda expressions not supported at this language level“
  7. C#网络编程----使用UdpClient实现网络会议讨论(详解)
  8. 一秒钟世界上会发生多少事_再多涂改,人性也总会醒来,也总会主动去追寻那一秒钟...
  9. vscode替换文字快捷键_这 21 个VSCode 快捷键,能让你的代码飞起来
  10. java eclipse中修改Web项目的URL访问路径