awk中NR和FNR的区别小结和实例演示
一,NR和FNR的不同
NR:表示当前记录数
FNR:也表示当前记录数,但是FNR的作用域只在一个文件内.如果重新打开文件,FNR会从1开始.
二,实例说明
1,测试文件aaa,cccc
[root@Blackghost test2]# cat aaa //测试文件aaa
1111:23434:zhang
hoadsf:asdf:ccc
[root@Blackghost test2]# cat ccc //测试文件ccc
1111:23434:zhang
hoadsf:asdf:ccc
tank:zhang:x20342
ying:zhasdf:72342
hosa:asdfa:2345sdf
2,一个文件中NR,FNR
[root@Blackghost test2]# awk '{print NR;print FNR;print $0;}' aaa
1 //NR
1 //FNR
1111:23434:zhang
2
2
hoadsf:asdf:ccc
上例中,我们可以看出NR和FNR是一样的
3,多个文件中NR,FNR
[root@Blackghost test2]# awk '{print NR;print FNR;print $0;}' aaa ccc
1
1
1111:23434:zhang
2 //NR
2 //FNR
hoadsf:asdf:ccc
3 //NR
1 //FNR 下面的数据是来自ccc,所以NFR重置为1
1111:23434:zhang
4
2
hoadsf:asdf:ccc
5
3
tank:zhang:x20342
6
4
ying:zhasdf:72342
7
5
hosa:asdfa:2345sdf
看到不同了吧,多文件操作时,新打开文件时FNR会重新从1开始
相关推荐
-
awk中RS、ORS、FS、OFS的区别和联系小结
学习awk时,一定要记得动手去实践,只有在实践中才能发现问题,以下就我在学习中和实践中的经验,总结一下RS,ORS,FS,OFS的区别和联系. 一,RS与ORS 1,RS是记录分隔符,默认的分隔符是\n,具体用法看下 复制代码 代码如下: [root@krlcgcms01 mytest]# cat test1 //测试文件 111 222 333 444 555 666 2,RS默认分割符\n 复制代码 代码如下: [root@krlcgcms01 mytest]# awk '{p
-
awk中NR和FNR的区别小结和实例演示
一,NR和FNR的不同 NR:表示当前记录数 FNR:也表示当前记录数,但是FNR的作用域只在一个文件内.如果重新打开文件,FNR会从1开始. 二,实例说明 1,测试文件aaa,cccc 复制代码 代码如下: [root@Blackghost test2]# cat aaa //测试文件aaa 1111:23434:zhang hoadsf:asdf:ccc [root@Blackghost test2]# cat ccc //测试文件ccc 1111:23434:zhang hoa
-
JavaScript中callee和caller的区别与用法实例分析
本文实例讲述了JavaScript中callee和caller的区别与用法.分享给大家供大家参考,具体如下: 1.callee 在函数的内部,有两个特殊的对象:arguments和this.其中arguments是一个类似数组的对象,包含着传入函数的所有参数. 虽然arguments的主要用途是保存函数参数,但这个对象有一个属性--callee,该属性是一个指针,指向拥有这个arguments对象的函数 所以callee的作用就是来指向当前对象 看一个阶层函数的例子就会明白他的用途了: /* *
-
js中apply()和call()的区别与用法实例分析
本文实例讲述了js中apply()和call()的区别与用法.分享给大家供大家参考,具体如下: 每个函数都包括两个非继承而来的方法:apply()和call().两者用途都是在特定的作用域中调用函数,等于重新设置了函数体内this对象的值. 两者区别仅在于接收参数方式不同,apply()第一个参数是调用apply的函数运行的作用域,的第二个参数可以是Array的实例(数组),也可以是arguments对象,call()第一个参数是this的值没有变化,而其余参数都直接传递给函数(也就是逐个列举出
-
Yii Framework框架中事件和行为的区别及应用实例分析
本文实例讲述了Yii Framework框架中事件和行为的区别及应用.分享给大家供大家参考,具体如下: 个人觉得,在 Yii 里面,最难以明白的就是事件(Event)和行为(behavior)了.这不仅仅是因为它们的概念 比较难明,关键是它们的应用场景比较难明,不知道什么时候应该使用事件和行为来开发. 关于 Yii 的事件和行为的描述,可参考 http://www.yiiframework.com/doc/api/1.1/CComponent 本文参考的文章: http://www.larryu
-
python中copy()与deepcopy()的区别小结
前言 copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式. 深复制被复制对象完全再复制一遍作为独立的新个体单独存在.所以改变原有被复制对象不会对已经复制出来的新对象产生影响. 浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签也会随之改变. import copy origin = [1, 2, [3, 4]] #origin 里边有三个元素:1, 2,[3, 4] cop
-
微信小程序中target和currentTarget的区别小结
前言 在小程序中,e.target与e.currentTarget是非常重要的,尤其是涉及到页面传值时 currentTarget和target都是组件的一些属性值集合,由"data-属性名"定义的一些属性值 currentTarget:事件触发的当前事件(当前事件,可能是触发事件的源组件,可能是触发的事件组件(即触发事件源组件的子元素),此时点击子元素还是父元素,都是当前事件,应用e.currentTarget target:触发事件的源组件(事件注册/绑定所在组件) 举个例子: &
-
AnjularJS中$scope和$rootScope的区别小结
一句话总结: $rootScope针对全局的作用域生效 $scope只针对当前的controller作用域生效 用下面的例子来证明上述的说法: 定义一个模块名为myApp var myApp = angular.module('myApp', []); 创建oneController和twoController这两个controller oneController传入$scope和$rootScope myApp.controller('oneController', ['$scope', '$
-
Oracle中sys和system的区别小结
1. SYS用户具有DBA权限,并且拥有SYS模式,只能通过SYSDBA登陆数据库.是Oracle数据库中权限最高的帐号 SYSTEM具有DBA权限.但没有SYSDBA权限.平常一般用该帐号管理数据库就可以了. 2. (1)sys -- sysdba system --sysoper (2)startup/shutdown/dba管理两个都能做 (3)sys拥有数据字典(dictionay),或者说dictionay属于sys schema (4)sysdba比sysoper多了一个create
-
C#中Ilist与list的区别小结
常见问题: Ilist <> 本身只是一个泛型接口, 既然是接口当然不能实例化,只能用如下方法 IList <Class1> IList11 =new List <Class1>(); 但是为什么要这么用呢,为什么不直接用List: List <Class1> List11 =new List <Class1>(); 第一种用法有什么好处. 总结归纳一下: Ilist <> 是在 .net2.0里面才支持的 好处嘛..比如说human
-
iOS中containsString和rangeOfString的区别小结
前言 containsString 仅仅只能在iOS8中有,iOS7和iOS7以下用rangeOfString来代替,containsString功能比较简单.单一.但是rangeOfString功能比较复杂,它能遍历整个字符串,里面的options可以有好多情况,这两者有什么区别呢?下面来一起看看吧. 一.containsString //1.containString查找字符串是否包含" iOS " //2.containString适用于ios8系统,在ios7系统下会崩溃 NS
随机推荐
- 提高Node.js性能的应用技巧分享
- dos变量定义和引用方法
- ruby 程序的执行顺序
- 基于jQuery创建鼠标悬停效果的方法
- Oracle 10G:PL/SQL正规表达式(正则表达式)手册
- Python读取网页内容的方法
- js中less常用的方法小结
- ASP去掉字符串头尾连续回车和空格的Function
- android隐式意图激活浏览器的实现方法
- docker在已有的tomcat镜像上打新的镜像的Dockerfile编写说明介绍
- 基于Android CALL && SendMes Test的相关介绍
- 探讨如何使用SimpleXML函数来加载和解析XML文档
- Eclipse不自动编译java文件的终极解决方法
- jquery 表单下所有元素的隐藏
- 使用java实现http多线程断点下载文件(二)
- C++中的const和constexpr详解
- PHP输入流php://input介绍
- Vue中的Vux配置指南
- Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
- 浅谈Java BitSet使用场景和代码示例