关于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 ...
随机推荐
- RapidJSON 代码剖析(一):混合任意类型的堆栈
大家好,这个专栏会分析 RapidJSON (中文使用手册)中一些有趣的 C++ 代码,希望对读者有所裨益. C++ 语法解说 我们先来看一行代码(document.h): bool StartArr ...
- vue 配置文件详解
var path = require('path'); // NodeJS中的Path对象,用于处理目录的对象,提高开发效率. // 模块导入 module.exports = { // 入口文件地址 ...
- Android BLE 蓝牙编程(三)
上节我们已经可以连接上蓝牙设备了. 本节我们就要获取手环的电池电量和计步啦. 在介绍这个之前我们需要先了解下什么是 服务 什么是 UUID 我们记得上节中我们item监听事件的回调的返回值是Bluet ...
- Redis集群(三):主从配置一
一.本文目的 Redis的主从配置分为两篇文章,第一篇主要介绍了Redis主从配置的搭建过程及使用,第二篇主要说明各种情况下Redis主从状态,如Master挂掉,Slaver挂掉, ...
- 线段树 HDU 3308
t 题目大意:给你n个数,m个操作.操作有两种:1.U x y 将数组第x位变为y 2. Q x y 问数组第x位到第y位连续最长子序列的长度.对于每次询问,输出一个答案 #include< ...
- HTML5 图片缩放功能
腾讯新闻上用的插件(xw.qq.com) 缩放插件scale.js (function(window, undefined) { var document = window.document, sup ...
- iOS 个人账号 iOS APP Development 灰色不可选
如图,现在的开发者账号是有几个人共用的,已经 生成了一个Development 的证书,我想再申请一个,出现了这样的情况.网上有说的是申请证书个数到了上限,需要删除已经生成的.因为生成的证书其他人需要 ...
- javascript判断手机浏览器版本信息
<script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser={ versions:functio ...
- <<< 入侵网站类提权注入教程
---------------------------------------入侵类教程-------------------------------------------------------- ...
- oracle--知识点汇总2---laobai
--复制表 create table emp as(select * from scott.emp); select * from emp; --Demo1创建存储过程,实现将emp表comm为空时, ...