awk命令

awk命令

Awk是一种用于高级文本处理的通用脚本语言,其主要用作报告和分析工具,与大多数其他程序性编程语言不同,Awk是数据驱动的,也就是说需要定义一组针对输入文本要执行的操作,然后其获取输入数据,对其进行转换,然后将结果发送到标准输出。

语法

awk [ -F fs ] [ -v var=value ] [ 'prog' | -f progfile ] [ file ... ]

参数

  • -F fs: 将输入字段分隔符设置为正则表达式fs
  • -v var=value: 在执行awk程序之前,将值赋值给变量var
  • 'prog': awk程序。
  • -f progfile: 指定文件progfile,其中包含要执行的awk程序。
  • file ...: 由指定的awk程序处理的文件。

示例

示例文件example.txt文件内容如下:

Bucks Milwaukee    60 22 0.732 
Raptors Toronto    55 24 0.707 
76ers Philadelphia 51 31 0.622
Celtics Boston     33 33 0.598
Pacers Indiana     30 34 0.585

输出example.txt的第3个字段。

awk '{ print $3 }' example.txt
# 60
# 55
# 51
# 33
# 30

使用正则表达式匹配出以R开头的组。

awk '/^R/ { print $1,$2,$3,$4 }' example.txt
# Raptors Toronto 55 24

使用BEGIN以及END输出在处理记录之前与之后执行的操作,处理过程为输出第二个字段包含Tor的组。

awk 'BEGIN { print "Start Processing" }; $2 ~ /Tor/ {print $1,$2,$3,$4 }; END { print "End Processing" }' example.txt
# Start Processing
# Raptors Toronto 55 24
# End Processing

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

https://linuxize.com/post/awk-command/

https://www.computerhope.com/unix/uawk.htm

https://www.runoob.com/linux/linux-comm-awk.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Vue中虚拟DOM的理解

    Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点称为VNode,用对象属性来描述节点,实际上它是一层对真实DOM的抽象,最终可以通...

    WindrunnerMax
  • paste命令

    按列合并/tmp/file1.txt与/tmp/file2.txt文件,并追加到/tmp/file3.txt。

    WindrunnerMax
  • Js中Number对象

    JavaScript的Number对象是经过封装从而能够处理数字值的对象,Number对象由Number()构造器以及字面量声明的值在转化为包装对象时创建,Ja...

    WindrunnerMax
  • awk中使用shell变量

    老七Linux
  • Linux 性能监控之CPU&内存&I/O监控Shell脚本1

    IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`

    授客
  • Linux 统计文件的行数

    week
  • @SuppressWarnings的常见用法

    从Java 5.0起,您可以使用java.lang.SuppressWarning注释,来停用与编译单元子集相关的编译警告。

    cxuan
  • SWIG与nodejs入门

    Javascipt是一种基于原型的脚本语言。它是动态的,弱类型的语言。它可以说是最流行的Web开发语言。Javascript已经超越了基于浏览器的脚本语言,并且...

    音视频_李超
  • python实现kNN(最近邻)

    最近邻可以用于分类和回归,这里以分类为例。给定一个训练集,对新输入的实例,在训练数据集中找到与该实例最接近的k个实例,这k个实例的多数属于某个类,就把该输入实例...

    绝命生
  • 爱加密企业版静态脱壳机编写

    加壳时将方法指令抽走后自定义格式加密存放在assets/ijiami.ajm文件中,通过IDA动态调试分析发现每个被抽走的方法的debuginfo值改成0X3F...

    我是小三

扫码关注云+社区

领取腾讯云代金券