比如这样的场景:现在有一个文本,里面是这样的内容: NOTICE: 12-14 15:11:13:  parser. * 6685  url=[http://club.pchome.net/thread_1_18_7283270___TRUE.html] get_tm=115 PAGE=15471[Z]:59066 css_tm=1043 css_res=0/4[0] CONT=3230[Z]:4797 LINK=6095[Z]:22834 TITL=61 PtDef=7 UnifyUrl=47…
# -*- coding:utf-8 -*- #author:V def tol (file1,gui): #写一个方法,定义文件,or 匹配规则 import re patt = re.compile(gui) #print(type(patt)) f = open(file1,'r') #print(type(f)) try: return len(patt.findall(f.read())) #findall接受str类型,之前我把file 类型房间去,结果傻逼了 finally: #不…
把第一列相同的名称的第二列加起来: [root@localhost cc]# cat 1.txtaaa 10 bbb 20aaa 30ccc 40ccc 20ccc 40 [root@localhost cc]# cat 1.txt |awk '{sum[$1]+=$2}END{for(i in sum)print i,sum[i]}'aaa 40bbb 20ccc 100 统计第一列名称出现的次数: [root@localhost cc]# cat 1.txt |awk '{sum[$1]+=…
[root@centos ~]# cat f 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 51 2 3 4 5 awk '{for(i=1;i<=NF;i++)a[NR,i]=$i}END{for(j=1;j<=NF;j++)for(k=1;k<=NR;k++)printf k==NR?a[k,j] RS:a[k,j] FS}' f 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 或者 以下一句更简单:…
[root@localhost cc]# cat 2.txt adc 3 5 a d aa 3 adfa d ba 3 adf 去重第一列重复的行: [root@localhost cc]# cat 2.txt |awk '!a[$1]++{print}'adc 3 5 a d a 重复的行取最上面一行记录 去重以第一列和第二列重复的行: [root@localhost cc]# cat 2.txt |awk '!a[$1" "$2]++{print}'adc 3 5 a d aa 3…
首先我们要知道,awk 能够自动将输入的行,分隔为若干字段.每一个字段就是一组字符,它们和其他的字段由一个内部字段分隔符分隔开来. 如果你熟悉 Unix/Linux 或者懂得 bash shell 编程,那么你应该知道什么是内部字段分隔符(IFS)变量.awk 中默认的 IFS 是制表符和空格. awk 中的字段分隔符的工作原理如下:当读到一行输入时,将它按照指定的 IFS 分割为不同字段,第一组字符就是字段一,可以通过 $1 来访问,第二组字符就是字段二,可以通过 $2 来访问,第三组字符就是…
一.使用awk提取文本 目标: 本案例要求使用awk工具完成下列过滤任务: 1> 练习awk工具的基本用法    2> 提取本机的IP地址.根分区使用率    3> 格式化输出/etc/passwd文件中的用户名.UID.宿主目录信息 格式化输出passwd文件内容时,要求第一行为列表标题,最后一行提示一共已处理文本的总行数,如下图所示. 步骤: 步骤一:awk文本过滤的基本用法 1)基本操作方法 格式:awk [选项] '[条件]{编辑指令}' 文件 其中,print 是最常用的编辑指…
Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反人类:所以perl,python,ruby等脚本语言相当热火,我倾向用python,但处理一些简单任务python写的还是比较麻烦,无法一行命令解决,直到我发现了它-Pyp! Pyp(Pyed piper)–一个python写的类似sed,awk的文本处理工具,简单优雅而强大~ 安装: ubuntu…
命令太多,记不住,组合起来用一把…..示例文件: 1 2 3 4 5 6 7 8 9 10 11 [root@lovedan test]# cat a.txt hello good world hello hello good dandan good hello world 场景/分析: 统计a.txt出现次数前3名的单词 出现次数用awk统计 排名用sort命令排序 取文件前N行用head命令 awk命令 awk是以文件的一行为处理单位的,awk每接收文件的一行,然后执行相应的命令处理文本aw…
目录 一.元字符 二.grep命令 1. 过滤出包含某字符串的行 2. 过滤出以某字符串开头(结尾)的行 3. 过滤出包含某字符串及其相邻的行 4. 过滤出不包含某关键字的行 5. 过滤出包含多个字符串中任意一个的行 6. 查看目录中包含某字符串的所有文件 三.find命令 1. 按文件名查找 2. 按文件类型查找 3. 按文件大小查找 4. 按文件时间查找 5. 按文件权限查找 6. 按组合条件查找 7. 查找出文件后做相应处理 四.sed命令 1. sed简介 2. 工作流程 3. 基本语法…