shell awk专题笔记
来源:互联网 发布:淘宝密令红包不中 编辑:程序博客网 时间:2024/06/12 17:26
awk是一个非常非常强大的文本编辑工具:可以抽取:行、列、指定字符串、批量修改指定字符串等等几乎一切其他工具能做的事情,awk都能够做,awk还有内置函数,内置变量,这些都能够非常方便的对文本进行抽取和编辑。
首先大概介绍一下awk,awk把文本按照指定的域分隔符把文本分成n个域,语法是:awk -F "域分隔符" file,默认分隔符是空格键;然后每个域都用一个名字$n,n取自然数,当n=0的时候,代表整个文档。
另外有几个比较重要的awk内置变量,NF,NR,FILENAME,NF代表域的总数,NR代表第几行,FILENAME是当前文件名。
还有几个有用的函数,在此只讲解一下gsub(t,s)函数。
好,下面通过一段文本实例操作一下。
用ls -l获取到的一段文本
现在对该段文本进行一定的操作:
1,打印出NF,NR获知文本的基本 信息,执行命令:
可知,文本一共有7行,共有8个域,其中第一行只有2个域。
2,抽取列:抽取第8列,命令:awk '{print $8}'
3,抽取第6行:其实不是后抽取第六行,而是抽取匹配第8列的woman字符串的行:
那么,现在抽取匹配正则表达式/man/的所有行:
4,抽取指定字符串:
比如抽取第8列里面的精确匹配man字符串,这里直接精确匹配man字符串:
记住是用双等号“==”,表示精确匹配的意思。
这里要顺便说明一下grep的精确匹配:
grep非精确匹配:
抽取第8列里面非精确匹配man字符串,这里使用了正则表达式:
5,批量修改指定字符串,把第8列中包含man字符串的元素替换成MAN:
6,使用awk内置函数,把第8列中的man字符串替换成MAN,注意和第5点的区别噢:
该例调用了awk内置函数gsub(r,s),匹配正则表达式~/man/
下面附上awk内置函数和变量图表:
- shell awk专题笔记
- [unix shell笔记] - awk介绍
- Shell学习笔记(15)-awk
- linux+shell编程 笔记 awk
- SHELL学习笔记——awk编程
- awk 笔记 2 调用shell命令
- Shell笔记第七天 awk第一篇
- Shell笔记第八天 awk第二篇
- Shell笔记第九天 awk第三篇
- Shell笔记第十天 awk第四篇
- Shell笔记第十一天 awk第五篇
- Shell脚本写作:Awk学习笔记
- shell编程笔记-文本处理awk
- shell编程笔记-文本处理awk
- shell脚本学习笔记 (文本处理器AWK)
- shell笔记-使用awk数据分析
- shell-awk
- SHELL [awk]
- VS2008下MFC添加Web引用灰色解决办法
- 以考带学编译原理
- Java路径问题最终解决方案—可定位所有资源的相对路径寻址 .
- 命令行下的android工程的创建、编译与打包
- 北大 ACM 1002 题 487-3279 的 菜鸟JAVA解
- shell awk专题笔记
- cocos2d-x 2.0.2 创建动画的方式(根据png/swf)
- Centos上搭建能用于ok6410开发板的tftp服务器
- url地址编码与解码
- 如何保证数据库完整性
- CXF 入门步骤 详解:HelloWorld接口发布
- 学习PHP遇到的乱码问题
- sharepoint 2007 Force SharePoint Document Unlocked / Checked In
- SendMessage 函数