awk基本用法
来源:互联网 发布:js的splice 编辑:程序博客网 时间:2024/06/05 03:46
awk工作流程及基本使用
如果我想从一个文件当中获取一部分内容的话,那么我们就要利用到awk。awk可以从一个文本当中获取部分内容,或者对这个文本进行排版。
awk的工作过程是:它会把文件一行内容,读到内存里,然后对这行内容进行分段:
用法:awk '/范围/{命令1;命令2;......}' file,awk默认的分隔符是空格或者tab
用的比较多的命令print
-F:表示以冒号做个分隔符 显示第一块内容。$0表示整行内容。
刚才的命令是匹配root的,如果加上^匹配的是开头含有root。
这句命令的意思是查找第五部分含有root的,并打印第二部分。使用~可以表示匹配的意思。
awk实际上自带一个循环的。在第一行开始之前,实际上我们是可以先做一些准备工作的,也就是说,awk再把第一行读入到内存之前,可以先做其他的一些操作:
awk 'BEGIN{命令}/范围/{命令1;命令2;......}' file
刚才说了awk默认的分隔符是空格,这个分隔符使用的是FS这个变量:
这个命令的意思是在读取passwd这个文件之前,首先执行BEGIN里面的命令,BEGIN里面我们定义了一个变量FS。FS就是读取文件时默认的分隔符。
如果我们想输出多个部分的话,用逗号(,)隔开。当我们使用逗号隔开时,显示在屏幕上是以空格隔开的。
默认输出分隔符是空格,我如何更改输出分隔符?OFS
awk 'BEGIN{FS=":";OFS='/'} $1 ~ /root/{print $1,$2}' passwd
有BEGIN就会有END,END就是扫尾的意思。
awk 'BEGIN{命令}/范围/{命令1;命令2;......}END{命令}' file
当我们使用print的时候,print后面如果是变量名我们可以不使用双引号"",如果不是变量名的话,就必须使用""引起来。
刚才我们已经说了2个变量FS,OFS。
NF:表示每行的字段数。
NR:表示awk所处理的这行内容在源文件当中是第几行:
这句命令显示了开头为root的那行内容在源文件当中是 第一行。
除了系统自带的这些变量之外,我们还可以自定义变量的:
该命令的意思是在循环passwd文件之前,定义了一个变量aa值为0,然后循环aa里面的内容,如果含有root的话,那么给变量aa加1。最终把所有的行全部读完之后,再执行END里面的命令。
注意:当我们引用变量的时候,是不加$的,这个和shell或者其他语言不一样。
- awk基本用法(vbird)
- sed awk 基本用法
- awk基本用法
- awk基本用法
- awk基本用法
- awk基本用法简介
- awk基本用法
- AWK 常见基本用法
- linux AWK命令基本用法
- awk基本用法及举例
- sed和awk的基本用法
- grep、sed和awk基本用法汇总
- awk基本用法及举例(2)
- linux下sed与awk的基本用法
- LINUX 下 find grep sed awk 的常见基本用法
- linux的常用命令和awk的基本用法
- awk用法
- awk用法
- 第十三周项目五:完整复制字符串
- USACO 1.3 Combination Lock (枚举)
- windows server2008目录 [ ./Apps/Runtime/ ] 不可写!解决
- yii2(2.0.0)中的自增型主键查询的结果总是string型的原因
- Swift learn 4
- awk基本用法
- 习惯了
- ecshop的模板文件
- 发布mvc3报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容
- 超级adapter 大大减少adapter代码
- 青春
- jni小结
- html调用js方法
- Java当中的线程(一)