为啥这是打印最后两行的意思啊 ?

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

为啥这是打印最后两行的意思啊 ?

#1

帖子 13378333 » 2012-08-07 17:47

谁能解释一下为啥这是打印最后两行的意思
awk '{y=x "\n" $0; x=$0};END{print y}'
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 为啥这是打印最后两行的意思啊 ?

#2

帖子 枫叶饭团 » 2012-08-07 17:59

定义y = x +换行+ $0
$0表示一行。。。
这循环到最后打印出来的y,当然是最后两行了
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 为啥这是打印最后两行的意思啊 ?

#3

帖子 lilydjwg » 2012-08-07 18:09

代码: 全选

读行开始
  y 等于 x 加上当前行
  x 等于当前行
循环
所以,y 是上一行加当前行。到最后,当然是最后两行的。

PS: 好蛋疼啊,系统里没有尾巴么:tail -2
回复