AWK使用实例
2015-03-10 15:07
239 查看
在awk中,可以用!a[0]++做为条件,对重复出现的行进行处理。bash−3.20]++做为条件,对重复出现的行进行处理。
bash-3.2 cat 2
abc
abc
ef
123
dgag
123
xxx
bash-3.2awk′!a[ awk '!a[0]++’ 2
abc
ef
123
dgag
xxx
对于awk ‘!a[$3]++’,需要了解3个知识点
1、awk数组知识,不说了
2、awk的基本命令格式 awk ‘pattern{action}’
省略action时,默认action是{print},如awk ‘1’就是awk ‘1{print}’
3、var++的形式:先读取var变量值,再对var值+1
以数据
1 2 3
1 2 3
1 2 4
1 2 5
为例,对于awk ‘!a[3]++′awk处理第一行时:先读取a[3]++’
awk处理第一行时: 先读取a[3]值再自增,a[3]即a[3]值为空(0),即为awk‘!0′,即为awk‘1′,即为awk‘1print′awk处理第二行时:先读取a[3]即a[3]值为空(0),即为awk ‘!0’,即为awk ‘1’,即为awk ‘1{print}’
awk处理第二行时: 先读取a[3]值再自增,a[$3]即a[3]值为1,即为awk ‘!1’,即为awk ‘0’,即为awk ‘0{print}’
………….
最后实现的效果就是对于3是第一次出现的行进行打印,也就是去除3是第一次出现的行进行打印,也就是去除3重复的行
bash-3.2 cat 2
abc
abc
ef
123
dgag
123
xxx
bash-3.2awk′!a[ awk '!a[0]++’ 2
abc
ef
123
dgag
xxx
对于awk ‘!a[$3]++’,需要了解3个知识点
1、awk数组知识,不说了
2、awk的基本命令格式 awk ‘pattern{action}’
省略action时,默认action是{print},如awk ‘1’就是awk ‘1{print}’
3、var++的形式:先读取var变量值,再对var值+1
以数据
1 2 3
1 2 3
1 2 4
1 2 5
为例,对于awk ‘!a[3]++′awk处理第一行时:先读取a[3]++’
awk处理第一行时: 先读取a[3]值再自增,a[3]即a[3]值为空(0),即为awk‘!0′,即为awk‘1′,即为awk‘1print′awk处理第二行时:先读取a[3]即a[3]值为空(0),即为awk ‘!0’,即为awk ‘1’,即为awk ‘1{print}’
awk处理第二行时: 先读取a[3]值再自增,a[$3]即a[3]值为1,即为awk ‘!1’,即为awk ‘0’,即为awk ‘0{print}’
………….
最后实现的效果就是对于3是第一次出现的行进行打印,也就是去除3是第一次出现的行进行打印,也就是去除3重复的行
相关文章推荐
- AWK简介及使用实例
- awk使用实例一则
- awk的使用 第六部分 awk编程的几个实例
- awk使用实例
- AWK使用实例
- awk使用实例详解
- Linux中sed和awk的使用及其相关实例解析
- awk使用的实例
- 几个awk的使用实例
- shell awk 使用实例 awk 合并行
- shell 中awk的实例使用
- Linux日志查看(8)— awk 命令(使用实例)
- awk使用实例说明
- awk使用 第7部分 awk对多行数据的处理实例
- awk的使用实例
- Linux中sed和awk的使用及其相关实例解析
- Linux中sed和awk的使用及其相关实例解析
- Java的Hibernate框架中Criteria查询使用的实例讲解
- 使用phpQuery获取数组的实例
- DataTable.Compute方法使用实例(转)