1. 云栖社区>
  2. PHP教程>
  3. 正文

AWK 初级篇

作者:用户 来源:互联网 时间:2017-12-01 20:58:13

awk初级

AWK 初级篇 - 摘要: 本文讲的是AWK 初级篇, 概述 AWK 是一种解释执行的编程语言。它非常的强大,被设计用来专门处理文本数据。AWK 的名称是由它们设计者的名字缩写而来 —— Afred Aho, Peter Weinberger 与 Brian Kernighan。 部分 AWK

概述


AWK 是一种解释执行的编程语言。
它非常的强大,被设计用来专门处理文本数据。
AWK 的名称是由它们设计者的名字缩写而来 —— Afred Aho, Peter Weinberger 与 Brian Kernighan。


部分 AWK 的典型应用场景


AWK 可以做非常多的工作。 下面只是其中的一小部分:

文本处理


生成格式化的文本报告


进行算术运算


字符串操作,以及其它更多

安装


默认Linux系统中是安装 AWK 的。
使用 which 命令可以判断你当前的系统上是否安装了 AWK。


如果没有安装,可以使用 yum 包管理工具安装:


yum install gawk

which 命令确认 AWK 已成安装成功:


which awk

如果得到如下的结果,则说明你已经成功安装 awk:


/bin/awk

实战


带着问题来学习,本次解决解决下这些问题。

打印出文件的内容。


打印出第一列,打印出最后一列。


打印出第一行,打印出最后一行。


打印出指定行的指定列。


以任意顺序输出列。


正则表达式 匹配行开始。


正则表达式 匹配行结束。

测试文本 score.txt


AaronPhysics87
Abel Maths98
RahulChinese90
Buck Biology87
ByronEnglish85
Dave History89
EnochChemistry89//打印出文件的内容。
[[email protected] awk]# awk '{print $0}' score.txt
AaronPhysics87
Abel Maths98
RahulChinese90
Buck Biology87
ByronEnglish85
Dave History89
EnochChemistry89//打印出第一列。
[[email protected] awk]# awk '{print $1}' score.txt
Aaron
Abel
Rahul
Buck
Byron
Dave
Enoch//打印出最后一列。
[[email protected] awk]# awk '{print $NF}' score.txt
87
98
90
87
85
89
89//打印出第一行。
[[email protected] awk]# awk 'NR==1{print $0}' score.txt
AaronPhysics87//打印出最后一行。
[[email protected] awk]# awk 'END{print}' score.txt
EnochChemistry89//打印出指定行的指定列。比如 第四行第二列
[[email protected] awk]# awk 'NR==4{print $2}' score.txt
Biology//通过匹配模式串输出列。
[[email protected] awk]# awk '/b/{print $0}' score.txt
Abel Maths98//以任意顺序输出列。
[[email protected] awk]# awk '{print $2 "/t" $1}' score.txt
PhysicsAaron
MathsAbel
ChineseRahul
BiologyBuck
EnglishByron
HistoryDave
ChemistryEnoch//行开头匹配。
[[email protected] awk]# awk '/^A/' score.txt
AaronPhysics87
Abel Maths98[[email protected] awk]# awk '/^B/' score.txt
Buck Biology87
ByronEnglish85//行结束匹配。
[[email protected] awk]# awk '/89$/' score.txt
Dave History89
EnochChemistry89

Thanks ~


AD :


AWK 初级篇

以上是AWK 初级篇的全部内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有其他相关内容,欢迎继续使用右上角搜索按钮进行搜索awk 初级 ,以便于您获取更多的相关知识。