关于awk的逗号问题
对于awk逗号的问题,我昨天看的一本书有提过:

《Linux就是这个范儿》挺好的书,大家可以看看~~~~
测试过,总结如下(不知道总结有没有错,欢迎大家吐槽,欢迎大家吐槽,吐槽,吐槽........)
前期准备工作
(i)b.txt文本内容:

(ii)逗号表达式形式: “字符串s1,字符串s2”
(iii)n1: s1所在行; n2:s2所在行
############################################
注意:无论什么情况,都是优先匹配s1!!! ——————防色盲系列
(非常符合人类从左到右看东西的习惯~总不会奇葩到从右往左看吧~~)
主要有 4 种情况
情况一、匹配s1,匹配s2
(0)if (n1==n2) 仅打印匹配那行——》 n1
(1)if (n1 < n2),打印 [n1,n2] 行. 命令:awk '/78/,/21/' b.txt
(2)if (n1 > n2),打印 [n1,最后一行] 命令:awk '/21/,/78/' b.txt

情况二、匹配s1,不匹配s2
结果同一的(2),打印 [n1,最后一行]
情况三、不匹配s1,匹配s2
匹配不上,什么都不打印
情况四、不匹配s1,不匹配s2
匹配不上,什么都不打印
###########################
那么前面提到的 awk '/Jan/,/nov/'b.txt 就很好理解了,就是情况一的(2)
因为优先匹配n1(Jan所在行),而 nov 虽然也匹配了,但是由于n2(nov 所在行)在 n1 的前面,所以打印的时候就是打印 n1(Jan那行)到文本结尾
图是这样的:

我当时是这样问的:
awk '/Jan/,/nov/'b.txt 逗号表示什么意思,第一行打印出来好理解,因为有Jan,但后3行就不懂 了,明明都没有Jan 或者 nov,不知道它是以什么标准来匹配的?
awk '/Jan/;/nov/'b.txt 分号这个就好理解,就是或者的意思,把有Jan 或者 nov的行都打印出来
这条题目的链接:
http://www.cnblogs.com/emanlee/p/3327576.html
第 1 大题的第 2 行
关于awk的逗号问题的更多相关文章
- Sed Awk 日常使用总结
Sed命令语法sed [option] {sed-commands}{input-file}sed首先从input-file中读取第一行,然后执行所有的sed-commands:再读取第二行,执行所有 ...
- linux可以这样玩 之 杂乱无章的随笔(不定期更新)
文章目录 快速重命名 vim的进化 vim高亮当前行 vim列编辑 vim块编辑 vim行编辑 vim 中替换内容 vim保留当前已经编辑的内容,切换到其他用户继续编辑 修改服务的进程限制 CentO ...
- awk实现 文本内的换行符 为分隔符,输出变为逗号
awk实现 文本内的换行符 为分隔符,输出变为逗号 [liujianzuo@ow2 scripts]$ awk -F $ '{print $0}' ldap_member.log ruanshujun ...
- sed awk 要获得每行的最后一个逗号后边的内容
获得每行的最后一个逗号后边的内容.例如:KIAA1967 KIAA1967, xxxxSECIS biding proin 2-like, SECISBP2L, yyyy 1234ankyrin re ...
- awk sed tr替换换行符为逗号,并合并为一行
在群里看到的.记录以备用. sed 帮助命令:http://man.linuxde.net/sed 文件里有如下行,我想将每行的回车符替换为逗号,并将所有行合并到一行,用awk或sed怎么写啊TOP ...
- awk命令简介
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- awk使用说明
原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...
- awk应用
h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...
- 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od
awk awk是个很好用的东西,大量使用在linux系统分析的结果展示处理上.并且可以使用管道, input | awk '' | output 1.首先要知道形式 awk 'command' fi ...
随机推荐
- Mongodb学习笔记三(Mongodb索引操作及性能测试)
第三章 索引操作及性能测试 索引在大数据下的重要性就不多说了 下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载.官网下载地址:http://www.robomo ...
- 获取使用ClickOnce部署的应用程序的版本号
引子 在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏.软件变更记录.软件关于等页面读取显示当前的版本号. 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地 ...
- 使用java库中的对称加密算法
对称加密算法是说加密方和解密方使用相同的密钥.常见的对称加密算法包括4个,DES,DESede(3DES),AES,PBE. 本文讨论的内容是加密算法,不是Message Digest,不是编码.下面 ...
- iOS 如何打开后灯(闪光灯)
- (void)torchOnOrOff { AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMedia ...
- Samba服务配置简明笔记
内部服务器之间拷贝数据,用root账号访问,没有做更复杂的设置. 1.用YUM安装samba服务器端及客户端: [root@tenjs05 init.d]# yum install samba sam ...
- RabbitMQ简介
AMQP简介 在了解RabbitMQ之前,首先要了解AMQP协议.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消 ...
- Ubuntu 14.04 LTS 安装 spark 1.6.0 (伪分布式)-26号开始
需要下载的软件: 1.hadoop-2.6.4.tar.gz 下载网址:http://hadoop.apache.org/releases.html 2.scala-2.11.7.tgz 下载网址:h ...
- 简明Linux命令行笔记:mv
重命名.覆盖或移动文件 mv [options] existing-file new-filename mv [options] existing-file-list directory mv [op ...
- Root--超级用户
http://www.shuame.com/root/ root (计算机术语言) ROOT存在于Linux系统.UNIX系统(如AIX.BSD等)和类UNIX系统(如稳定到服务器都在用的Debia ...
- 11月8日下午Jquery取属性值(复选框、下拉列表、单选按钮)、做全选按钮、JSON存储、去空格
1.jquery取复选框的值 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...