文档章节

awk处理文本(1)

lucifercn
 lucifercn
发布于 2014/07/04 14:03
字数 281
阅读 91
收藏 8
1. awk关联数组,捕捉长度和域值数目不满足要求的数组

1.awk =>
#!/usr/bin/awk 
length($1) > 2 {e++; print "long name in line", NR}
NF != 1 {e++; print "bad name count in line", NR}
END {if (e > 0) print "total errors: ", e}

# cat 1 =>
223  xiaobao
32 caoqing
42
52
2245
2

# awk -f 1.awk 1 => 
long name in line 1
bad name count in line 1
bad name count in line 2
long name in line 5
total errors:  4

2. 给定n个名字的文件,生成全部的n*n个名字

2.awk =>
#!/usr/bin/awk
{ name[$1] = 1 }
END { for (i in name)
        for(j in name)
          {print i, j};
}

# cat 2 =>
huanhuan
xiaobao
caoqing
grafield

# awk -f 2.awk 2 =>
grafield grafield
grafield huanhuan
grafield caoqing
grafield xiaobao
huanhuan grafield
huanhuan huanhuan
huanhuan caoqing
huanhuan xiaobao
caoqing grafield
caoqing huanhuan
caoqing caoqing
caoqing xiaobao
xiaobao grafield
xiaobao huanhuan
xiaobao caoqing
xiaobao xiaobao

3. 统计个数

3.awk =>
#!/usr/bin/awk
{count[$1] += $2}
END{ for (i in count)
  {print count[i], i};
}

# cat 3 =>
caoqing:20
xiaobao:100
caoqing:5 
wanghuan:4 
xiaobao:10

# awk -F":" -f 3.awk 3
4 wanghuan
25 caoqing
110 xiaobao

4. 统计单词个数

4.awk =>
#!/usr/bin/awk
{ for(i=1; i<NF; i++) count[$i]++ }
END { for ( i in count)
        {print count[i], i}
}

# cat 4
caoqing xiaobao wanghuan xiaobao xiaobao wanghuan xiaobao caoqing

# awk -f 4.awk 4
2 wanghuan
1 caoqing
4 xiaobao


© 著作权归作者所有

共有 人打赏支持
lucifercn
粉丝 14
博文 71
码字总数 63041
作品 0
深圳
程序员
私信 提问
linux`操作文本的三大利器

、、是操作文本的三大利器,也是必须掌握的命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属功能最强大,但也最复杂。更适合单纯的查找或匹配文本,更适合编辑匹配到的文本,更适...

丁典
07/30
0
0
awk 用法详解!

awk简介 awk: 中文意思是报告生成器 能够根据我们输入的信息,将信息格式化以后显示,将定义好的信息以比较美观(直观)的方式显示出来出现比较早,继而出现了new awk(nawk)在windows上实现...

求学ing
2013/08/08
10.8K
0
Linux文本处理工具

1、grep grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打...

SupermanNet
2017/06/16
0
0
awk最简单明了入门方法

Awk,sed,grep三剑客 Grep合适单纯的查找或者匹配文本 Sed合适编辑匹配到的文本 Awk更合适格式化,对文本进行比较复杂的处理 Awk语法 awk [options] ‘program’ file1,file2........ # awk ...

探花无情
2017/04/20
0
0
Linux命令:文本处理工具awk详解

awk命令简介: awk是一个强大的文本分析工具,通常,awk是以文件的每一行,为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。 1.命令格式: awk 'pattern {action}'{fil...

wang6501081
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 源代码和 C 源代码的运行区别

与其他程序的执行方式和编译方式不同。 Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。 请参考下图。 https://www.cwiki.us/pages...

honeymose
今天
3
0
Apache限定目录解析PHP,限制user_agent,PHP相关的配置

Apache限定目录解析PHP 配置前访问upload/index.php [root@test-a ~]# curl -x192.168.77.139:80 'www.test.com/upload/index.php'This is upload diretory 配置,/usr/local/apache2.4/......

野雪球
今天
5
0
java.util.Concurrent.Exchanger源码

类图 源码: package java.util.concurrent;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent......

狼王黄师傅
今天
6
0
Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
昨天
5
0
2018-11-20学习笔记

1. python数据类型: 给变量赋值什么样的值,变量就是什么样的类型 给变量赋值整数,变量就是整数类型 给变量赋值字符串,变量就是字符串类型 123 和“123”一样吗? 在python中 单引号 与双...

laoba
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部