Linux三剑客awk命令原理及基本命令

Linux三剑客awk命令篇一:原理及基本命令1、简单介绍:awk是一个文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。awk经过改

今天给各位分享Linux三剑客awk命令原理及基本命令的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Awk 是一种文本处理工具,也是Linux 和Unix 环境中最强大的数据处理引擎之一。

awk 生成的新版本nawk 和gawk 已得到改进。现在Linux系统下日常使用的是gawk的默认版本。

如下图:

awk 提供了极其强大的功能:样式加载、流程控制、数学运算符、过程控制语句甚至内置变量和函数。它几乎具备了完整语言所应具备的所有美好特性。简而言之,awk 在很多方面类似于shell 编程语言。

总结:

awk不仅是Linux系统中的一个命令,也是一种可以用来处理数据、生成报告(excel)的编程语言。处理的数据可以是一个或多个文件,这些文件可以来自标准输入,也可以通过管道获取标准输入。 awk可以直接在命令行编辑命令来进行操作,也可以将其编写为awk程序以用于更复杂的应用。

2、执行过程:

与sed 命令类似,它逐行读取并处理.

这里与sed命令进行比较进行分析。

sed如下所示:

sed 从文件或管道中读取一行,处理一行,并输出一行;读取另一行,处理另一行,并输出另一行.

当处理一行时,当前处理的行被存储在一个临时缓冲区中,称为模式空间,然后使用sed 命令来处理缓冲区的内容。处理完成后,将缓冲区的内容发送到屏幕。然后处理下一行,并重复直到文件末尾。

差异:

awk 会将一行分成几个字段进行处理,而不是像sed 那样处理整行。

示意图:

补充:

上图中默认分隔符为空白,即:空格或制表符。

3.语法格式:

(1)awk完整语法

开始{命令}:

处理数据之前执行的命令。

处理数据后执行的命令。

这两个命令可以省略。参见(2)

(2)awk基本语法

awk -F ‘分隔符’ ‘/mode/{action}’ 文件

这里的“/mode/{action}”是不是有点类似于sed命令格式?

注:

1. 指令使用”

2. 在操作中使用{}

3. 模式:

(1)正则表达式(注意格式:/正则表达式/)

(2) 条件表达式(例如:etc.)

总结:

Linux三剑客awk命令原理及基本命令

一般来说,这里的模式是用来找人的,而action则表示要做什么。

例如:总共3个橙子、2个柚子、1个葡萄。

假设你现在想吃葡萄。

模式可以代表/grape/,动作可以代表{eat}。

4. 案例1

猫演示.txt

橘子橘子橘子油子油子葡萄

//执行BEGIN命令

开始寻找葡萄.

//对与模式匹配的行执行的操作

吃它

结束我明白了.

案例2:

接下来我们获取文件的第一个字段和最后一个字段

1. //只有动作,没有模式

awk -F ‘:’ ‘{print $1,$7}’ /etc/passwd

补充:

//下期介绍内部变量后,可以使用以下方法

awk -F ‘:’ ‘{print $1,$NF}’ /etc/passwd

2.获取特定用户的登录shell

//既有模式又有动作

odysee:~/shellFiles_1$awk -F ‘:’ ‘/^odysee/{print $1,$7}’ /etc/passwd

odysee1 /bin/bash

奥德赛/bin/bash

以奥德赛为例

3. 唯一模式

awk -F ‘:’ ‘/^odysee/’ /etc/passwd

这与grep 类似,显示$0 正行数据。

下一篇:

Linux 三剑客awk 命令第2 部分命令操作符

欢迎大家提出宝贵的意见或建议。

欢迎补充或者分享一些其他的方法。

用户评论

Linux三剑客awk命令原理及基本命令
代价是折磨╳

刚学习LINUX不久,一直在想怎么搞懂这个叫做“三剑客”的东西,终于找到这篇文章解释了!awk真是太神奇了,能解析文本成表格,而且还很强大。赶紧找个练习题试试看。

    有14位网友表示赞同!

Linux三剑客awk命令原理及基本命令
墨染天下

以前只知道awk可以看数据,没想到原理居然和正则表达式有关!这篇讲解通俗易懂,配上代码示例非常生动形象,让我对awk的用法有了更清晰的理解。以后脚本写多了试试用这个三剑客辅助一下。

    有19位网友表示赞同!

Linux三剑客awk命令原理及基本命令
非想

Linux系统里,命令那么多,awk这三个小家伙居然还能这么厉害!原来是通过匹配文本来提取信息啊,比以往那些纯逻辑处理的方式要灵活得多

    有19位网友表示赞同!

Linux三剑客awk命令原理及基本命令
颓废人士

看了这个文章后我感觉自己离 “linux高手” 还差一大截… awk的确强大,需要好好深入学习一下了。这篇博文讲解还是蛮清晰的,帮助了我很多。

    有15位网友表示赞同!

Linux三剑客awk命令原理及基本命令
发型不乱一切好办

我觉得这个标题写得有点太武,就三剑客就能概括所有?Linux上还有好多强大的命令和工具呢!不过本文确实介绍了awk的基本用法,对于初学者来说还是可以参考一下

    有14位网友表示赞同!

Linux三剑客awk命令原理及基本命令
闲肆

这种解析文本的模式的确很有用,而且awk脚本还可以结合shell脚本一起使用,扩展应用场景。这篇文章写的很详细,把awk的基础语法都整理了一边。

    有19位网友表示赞同!

Linux三剑客awk命令原理及基本命令
失心疯i

想用awk去解决一些复杂的文件处理问题,但看了这篇文章后还是一头雾水。感觉文档有点过于简洁,没有针对具体的场景进行详细的案例讲解,对实际操作帮助不大

    有10位网友表示赞同!

Linux三剑客awk命令原理及基本命令
最怕挣扎

这个"三剑客"的title 还是挺吸引人的!文章内容也很实用,把awk的基本用法和原理都解释了,比我之前瞎摸索要高效多了。感谢作者分享!学习Linux真的离不开这种精辟的博客讲解。

    有10位网友表示赞同!

Linux三剑客awk命令原理及基本命令
百合的盛世恋

说实话,awk命令虽然强大但确实不怎么人性化。这篇文章介绍得挺好,至少明白它的一些工作原理,以后遇到需要批量处理文本的时候 再看看这个文章再试试。

    有16位网友表示赞同!

Linux三剑客awk命令原理及基本命令
江山策

Linux系统真是太复杂了,一个awk就足够我头疼一天了! 这篇文章讲解得很详细,把我对 awk 的一些基本概念搞明白了,希望以后能深入学习它的高级用法

    有13位网友表示赞同!

Linux三剑客awk命令原理及基本命令
夏日倾情

我觉得学习awk命令最关键的一点是理解其内部的正则表达式,这篇文章讲得比较清晰,配上代码示例更容易理解。但希望作者能多添加一些实际应用场景的案例讲解,更直观地说明awk的使用方法。

    有7位网友表示赞同!

Linux三剑客awk命令原理及基本命令
嘲笑!

这篇博客对我提升 Linux 技能很有帮助!终于搞明白了 awk 的原理:利用正则表达式来匹配和处理文本内容,还真是一个强大的工具。我以后肯定会经常用到它的!

    有13位网友表示赞同!

Linux三剑客awk命令原理及基本命令
来自火星的我

想用awk 处理一下我这个项目的数据文件,现在看来需要好好研究一下这篇文章里的讲解了。学习linux命令总感觉有点慢,不过一步一个脚印,相信总能搞定。

    有13位网友表示赞同!

Linux三剑客awk命令原理及基本命令
像从了良

这篇博客写得不错,把 awk 的原理和基本命令都解释得很清楚,适合初学者学习使用。不过我建议作者可以加入更多的实战案例,让读者更直观地理解到 awk 的应用场景。

    有12位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/204923.html

(0)
小su的头像小su
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注