awk学习笔记(1) - 简介及入门-阿里云开发者社区

开发者社区> 开发与运维> 正文

awk学习笔记(1) - 简介及入门

简介:

awk是个很强大的文件处理工具。以前都不怎么用到他,这几天准备系统的学习一下,并把整个学习的过程记录下来,备忘及分享。其实真正刺激我学awk的原因是在百度百科里看到它的一句广告词“这种编程及数据操作语言的最大功能取决于一个人所拥有的知识”,换句话说就是“只有想不到,没有做不到”,好吧,看看它都能干些啥吧,于是我就跳进了这个坑。

awk基础知识

在awk中,不管命令多么复杂,其基本形式都是:


  1. awk [-F re] [parameter...] ['prog'] [-f progfile][in_file...] 
  • -F re:允许awk更改其字段分隔符。
  • parameter: 该参数帮助为不同的变量赋值。
  • 'prog': awk的程序语句段。这个语句段必须用单拓号:'和'括起,以防被shell解释。这个程序语句段的标准形式为:
  • 'pattern {action}' 其中pattern参数可以是egrep正则表达式中的任何一个,它可以使用语法/re/再加上一些样式匹配技巧构成。action参数总是被大括号包围,它由一系统awk语句组成,各语句之间用";"分隔。awk解释它们,并在pattern给定的样式匹配的记录上执行其操作。与shell类似,你也可以使用“#”作为注释符,它使“#”到行尾的内容成为注释,在解释执行时,它们将被忽略。你可以省略pattern和action之一,但不能两者同时省略,当省略pattern时没有样式匹配,表示对所有行(记录)均执行操作,省略action时执行缺省的操作——在标准输出上显示。
  • -f progfile:允许awk调用并执行progfile指定有程序文件。progfile是一个文本文件,他必须符合awk的语法。
  • in_file:awk的输入文件,awk允许对多个输入文件进行处理。值得注意的是awk不修改输入文件。如果未指定输入文件,awk将接受标准输入,并将结果显示在标准输出上。awk支持输入输出重定向。









本文转自 ustb80 51CTO博客,原文链接:http://blog.51cto.com/ustb80/1031828,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章