首页
社区
课程
招聘
awk命令的另类理解
发表于: 2023-1-1 09:59 7726

awk命令的另类理解

2023-1-1 09:59
7726

Awk命令是Linux三剑客命令之一,其基本用法,本文不会细提,本文主要是从记录个人的一些特别理解,与各位大神交流。本人做嵌入式开发,Linux用得不多,理解不正确地方,请各位多多指教。

 

Awk命令整体来说,是以一个矩阵的角度去看待文本的,这里就有个行和列的概念,也就是说,你在使用AWK命令时,要在心里默认矩阵这个前提的存在,即使你意识不到他的存在。

 

以矩阵看待文本,也就是说,有分割符,有了分割符号才会产生行列的概念。行的概念好理解,毕竟一个文本就是多行的,列的概念可以说,就是分割符,或者说:在awk中,列=分割符。分割符不同,则产生的列数也为相同,你处理的数据源也就不同了。

 

所以Awk,你又可以叫做:可定制化的文本矩阵(行列)处理器

 

Awk命令的使用时,有个前提:你处理的哪些列或是全部的列,默认处理全部的列。

 

比如你处理如下文件(这是看到浩道Linux公众号,产生的感想,所以这里直接使用公众号里的文本了):
Haodao1 haodao2 # haodao3
Haodao4 haodao5 # haodao6
Haodao7 haodao8 # haodao9

 

命令1:
Awk ‘{print $1}’
解析:你没有指定行,所以是所有行,输出所有行的第1列

 

命令2:
Awk ‘NR==2, NR==3 {print $1}’
解析:你指定了行,所以只输出第2和第3行的第1列。

 

命令3:
Awk –F “#” ‘{print $1}’
解析:指定了新的分割符,则矩阵形式变了.


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (1)
雪    币: 4460
活跃值: (6706)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
前几天刚学会这个命令,又忘记是用来干嘛了
2023-1-1 15:08
0
游客
登录 | 注册 方可回帖
返回
//