awk是一个报告生成器,它拥有强大的文本格式化的能力,这就是专业的说法。
你可能不理解所谓的报告生成器中的”报告”是什么,你可以把”报告”理解为”报表”或者”表格”,也就是说,我们可以利用awk命令,将一些文本整理成我们想要的样子,比如把一些文本整理成”表”的样子,然后再展示出来,刚才概念中提到的”文本格式化的能力”,也就是这个意思,其实这样说可能还是不太容易理解,不用着急,当你看到后面的”示例”时,自然会明白awk所擅长的”文本格式化”能力是什么。
awk是由Alfred Aho 、Peter Weinberger 和 Brian Kernighan这三个人创造的,awk由这个三个人的姓氏的首个字母组成。
awk早期是在unix上实现的,所以,我们现在在linux的所使用的awk其实是gawk,也就是GNU awk,简称为gawk,awk还有一个版本,New awk,简称为nawk,但是linux中最常用的还是gawk。
awk其实是一门编程语言,它支持条件判断、数组、循环等功能。所以,我们也可以把awk理解成一个脚本语言解释器。
grep 、sed、awk被称为linux中的”三剑客”。
我们总结一下这三个”剑客”的特长。
grep 更适合单纯的查找或匹配文本
sed 更适合编辑匹配到的文本
awk 更适合格式化文本,对文本进行较复杂格式处理