首先讲解一下背景。
最近在公司遇一个需求,要从上个月甚至是半年的日志文件中筛选出用户首次访问站点,是通过什么入口跳转进来的,访问的资源有哪些等等一些信息,无奈日志实在太大,需要经过重重筛选才能获得到自己想要的数据。这其中用到的数据过滤,对上千万行,甚至上亿行文件内容比较,取文件交集、并集、差集等等操作,这其中不仅仅只是用到了awk一个操作,但我们这几期内容重点分享一下awk使用心得。
这期内容先去awk进行一个简单的介绍。
0.awk分别代表三个作者姓氏的第一个字符。这三个人分别是:Alfred Aho、Brian Kernighan、Perter Weinberger。这三个自行度娘吧,在这就省略了。
1.awk说明:awk是一种编程语言,用于在Linux/Unix下对文本和数据进行处理。数据可以来自标准输入,一个或多个文件,或其他命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是Linux/Unix下的一个强大的编程工具。它可以在命令行中使用,但更多的是做为脚本来使用。
2.awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的处理操作。
3.gawk是awk的GNU版本,他提供了Bell实验室和GNU的一些扩展,在Linux系统中,已把awk链接到gawk,所以下面全部以awk进行介绍。
这期内容就先将awk介绍到这里,我们下期正式开始学习awk的各种命令格式和选项。