此句求解释

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

此句求解释

#1

帖子 13378333 » 2012-11-06 17:08

seq 9 | awk 'NR>2{print i}{i=$0}'
为啥没有1和9?
另外这样写awk '{print i}NR>2{i=$0}'
有何不同??????????? :em06
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 此句求解释

#2

帖子 YeLee » 2012-11-06 17:20

NR表示第几行,i保存的是上一行的$0。 :em01 :em01 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 此句求解释

#3

帖子 aerofox » 2012-11-06 20:45

13378333 写了: 另外这样写awk '{print i}NR>2{i=$0}'
有何不同?
区别很明显,没了“2”那一行,代之以三个空行。因为NR=1、NR=2时,i 的值还为空,在 NR=3 时,i 被赋值,但是赋值时 i 已经输出,直到 NR=4 时才输出上一次赋的值 “3”。
回复