随笔分类 -  Awk练习题

摘要:``` 需求: 有一文本文件 lessons.txt 内容如下,请使用 awk 处理该文本,并输出内容如 result.txt lessons.txt: 634751 预排 568688 预排 386760 删除 619373 预排 428491 预排 487563 完成 603342 完成 436339 完成 result.txt: 删除 386760 完成 487563,603342,... 阅读全文
posted @ 2018-08-24 16:49 陈浩然201 阅读(1851) 评论(0) 推荐(0)
摘要:awk二维数组练习 现有f1,f2两个文档 需求: 根据f2文件的第一行第一列为序号,求出f1中各对应的结果,打印在第三列 思路 阅读全文
posted @ 2018-01-31 23:04 陈浩然201 阅读(1891) 评论(0) 推荐(0)
摘要:awk的批量replace功能 需求 现在需要替换一个文本 就是简单的替换,ctrl + F功能就能搞定的事 但由于数量太多13000+条数据,时间会浪费很多,而且容易出错 只需要每次把替换的内容修改一下,替换的内容都记录在文本name2name中 直接按照文本执行就可以了 思路 遇到这个问题第一反 阅读全文
posted @ 2017-11-27 21:18 陈浩然201 阅读(1878) 评论(0) 推荐(0)
摘要:关于awk的范围模式功能问题 man awk中这样写到 The pattern1, pattern2 form of an expression is called a range pattern. It matches all input records starting with a recor 阅读全文
posted @ 2017-08-18 16:03 陈浩然201 阅读(2179) 评论(3) 推荐(0)
摘要:需求: 更换文本中第二次出现的字符串内容 1. 使用数组计数,加判断 2. 3. 4. 使用变量计数 5. 使用变量计数,利用sub替换 阅读全文
posted @ 2017-08-18 15:13 陈浩然201 阅读(794) 评论(0) 推荐(0)
摘要:打印第n参数到最后一个参数 文本的NF不等,即字段长度不固定,想截取从$3到$NF 1. 第一反应是使用循环 [root@localhost ~] echo "1 2 3 4 5" | awk '{for(i=1;i pattern省略或为1,等价于 /. / action省略,等价于 { prin 阅读全文
posted @ 2017-08-18 14:43 陈浩然201 阅读(6635) 评论(0) 推荐(1)
摘要:一、awk f program.file 功能使用 一直没有使用过awk的 f功能,感觉鸡肋,不是很实用,更多的是因为没有需求的原因 下面介绍下awk f的使用方法 awk可以指定默认的文件路径,使用AWKPATH这个变量,然后source即可 awk f使用必须使用全名称,若简写为awk f f 阅读全文
posted @ 2017-08-05 18:06 陈浩然201 阅读(4677) 评论(0) 推荐(0)
摘要:CU社区shell板块awk十三问整理 一、RS="" 当 RS="" 时,会将\n强制加入到FS变量中,因为RS为空时,是将连续多空行作为分隔符,近似于\n\n+,\n就不能作为行分隔符,所以此时awk默认将\n归为FS 若文件展示位一行,即在硬盘中存贮方式 将内容转化为熟悉的理解方式,RS=\n 阅读全文
posted @ 2017-08-02 14:31 陈浩然201 阅读(425) 评论(0) 推荐(0)
摘要:需求 有一个数字文本,每行都是数字,以空格分开;现在需要将每行中最大值取出来 文本如下: 使用awk解决 解释说明 使用数组将每个数字记录,然后将每个值与max变量比较,若比max大,则将内容赋予max;使用nu记录行号,每行执行最后将max置0 阅读全文
posted @ 2017-07-21 00:00 陈浩然201 阅读(3357) 评论(0) 推荐(0)
摘要:需求:文本开头没有空行,section之间的空行行数不定,最后一个section之后也有n行空行,想将section之间的空行压缩成一行 解法一:PF大神太绝了,直接一个cat -s urfile就搞定了;将多行空行合并成一行 解法二:awk除去空行awk NF urfile但没有做过将多行合并成一 阅读全文
posted @ 2017-07-14 10:40 陈浩然201 阅读(1019) 评论(0) 推荐(0)
摘要:想将重复的行打印出来,结果搞错了,闲来无聊想想为什么会有这样的结果,算是对awk的加深印象 解析 a[$0]++结果为真时,执行action,所以第一遍不重复的时候,将数组存储 然后每次遇到重复的行,pattern结果为真,执行一次action,一共18个重复行,执行18次,每次结果为45行,共计4 阅读全文
posted @ 2017-07-13 15:47 陈浩然201 阅读(275) 评论(0) 推荐(0)
摘要:如果是匹配以A开头,以B结尾的内容,同时A和B之间还包含C的这种怎么做?比如 这个中A=aaa,B=bbb,C=ccc,那么要提取出下面的……aaa gegecccbbb 第一行 pattern1{action1} 匹配包含aaa的行,满足条件令t=1,当t=1时,if条件为真,执行s=length 阅读全文
posted @ 2017-07-07 16:26 陈浩然201 阅读(7379) 评论(0) 推荐(0)
摘要:关于awk的多文件处理: awk的数据输入有两个来源,标准输入和文件,后一种方式支持多个文件,如1、shell的Pathname Expansion方式:awk '{...}' *.txt # *.txt先被shell解释,替换成当前目录下的所有*.txt,如当前目录有1.txt和2.txt,则命令 阅读全文
posted @ 2017-07-06 15:00 陈浩然201 阅读(386) 评论(0) 推荐(0)
摘要:总感觉上一篇awk的总结几乎是照着man翻译过来的,惨不忍睹 无意间在互联网上有找到了宝贵的资料 感觉整理的很好,想着照着这个来重新写下,对照新的man更新下吧,只是总是在改变的 一、awk简介二、awk工作流程三、awk程序结构四、awk基本语法 awk命令行模式 awk程序文件 awk标准选项五 阅读全文
posted @ 2017-06-27 21:53 陈浩然201 阅读(225) 评论(0) 推荐(0)
摘要:awk改变了OFS,$0却没变化一个文件1.txt,内容如下 目的把列变行,输出为: a b c d e 脚本如下: 理论上应该实现我们想要的 a b c d e 问题出在这里 Understanding $0 It is important to remember that $0 is the f 阅读全文
posted @ 2017-06-20 16:44 陈浩然201 阅读(429) 评论(0) 推荐(0)
摘要:BEGIN{写在前言,我英语不好,有许多地方直接使用的谷歌翻译。为了能理清awk工具使用的思路,详情还要看awk说明书(man awk) 或者http://www.gnu.org/software/gawk/manual/gawk.html#Regexp} awk初学之常见问题 http://bbs 阅读全文
posted @ 2017-06-18 17:25 陈浩然201 阅读(838) 评论(0) 推荐(1)
摘要:NR,表示awk开始执行程序后所读取的数据行数. FNR,与NR功用类似,不同的是awk每打开一个新文件,FNR便从0重新累计. 下面看两个例子: 1,对于单个文件NR 和FNR 的 输出结果一样的 : 2,但是对于多个文件 : 在看一个例子关于NR和FNR的典型应用: 现在有两个文件格式如下: 想 阅读全文
posted @ 2017-06-18 17:21 陈浩然201 阅读(17355) 评论(1) 推荐(2)
摘要:awk ‘! a[$0]++’ 怎么理解? 这是一个非常经典的去重复项的awk语句,虽然短小,不过涉及到了不少知识点,下面一一解读: <1> :”!” 即非。 <2>:a[$0],以$0为数据下标,建立数组a <3>:a[$0]++,即给数组a赋值,a[$0]+=1 <4> :那么组合起来,awk是 阅读全文
posted @ 2017-06-18 16:54 陈浩然201 阅读(5269) 评论(4) 推荐(1)
摘要:awk增加统计列值为增加列数或进行运行结果统计,使用符号 + =。增加的结果赋给符号左边变量值,增加到变量的域在符号右边。例如将 $ 1加入变量total,表达式为toatl+=$1。列值增加很有用。许多文件都要求统计总数,但输出其统计结果十分繁琐。在awk中这很简单,请看下面的例子。将所有学生的‘ 阅读全文
posted @ 2017-06-18 16:14 陈浩然201 阅读(1747) 评论(0) 推荐(0)
摘要:要将test文件中@2=1492785988内容保留,首位的内容都去掉 因为有特殊字符*,需要脱意,/\*.*\*/ 这段的意思就是匹配/* 这里是正则.* 贪婪匹配 */ 然后替换成空 这里最大的亮点是-i.bak 这个用法,以前一直只知道-i参数直接修改源文件,但-i.bak 可以备份 执行后, 阅读全文
posted @ 2017-06-14 14:42 陈浩然201 阅读(364) 评论(0) 推荐(0)