麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

分享awk變量$0的妙用

2020-07-27 19:23:30
字體:
來源:轉載
供稿:網友

腳本內容:

復制代碼 代碼如下:

#!/bin/bash
for ip in `cat ip.lst`
do
./ssh.exp $ip > /dev/null 2&>1
done
NK=`awk 'BEGIN{bs=4000000}/access/{if($1>bs){nk=NR-1;print nk}}' exp.log`
for nnk in $NK
do
awk -F"[@|']" 'NR=='"$nnk"' {print $2}' exp.log
done

然后又發現awk中$0的鬼怪。于是進一步簡化成了這個樣子:

復制代碼 代碼如下:

#!/bin/bash
for ip in
`cat ip.lst`
do
./ssh.exp $ip > /dev/null 2&>1
done
awk 'BEGIN{bs=4000000}/access/{if($1>bs)print x};{x=$0}' exp.log|awk -F"[@|']" '{print $2}'

終于算是圓了自己用一句話搞定它的夢。yeah~ 不過對這個原理還是不很明白。因為print x;x=$0出來是上一行,但print $0則是本行。why? 網上對打印前一行還提出另一個寫法,就看的更莫名其妙了:
awk '/regex/{print (x==""?"":x)};{x=$0}' $1

而打印后一行是這樣:
awk '/regex/{getline;print}' $1

不過這畢竟是恰好上下行而已,如果是要前幾行的,還是要靠NR運算了。

因為awk的流式處理,print x;x=$0,這個時候的x要等到下一行時才print出來。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色欧美视频 | 国产成人免费高清激情视频 | 深夜小视频在线观看 | av一道本 | 国产成年人网站 | 制服丝袜成人动漫 | 成年免费在线视频 | 草操影院 | 久久久久久久久久美女 | 香蕉视频h| 九九热精品视频在线 | 91福利影视 | 亚洲午夜精选 | h色视频网站| 国产成人精品无人区一区 | 一级毛片播放 | v片在线看 | 精品国产1区2区3区 免费国产 | 久久久久国产成人精品亚洲午夜 | 九九热精品视频在线 | 免费一级电影 | 99最新地址 | 日韩欧美中文字幕视频 | 亚洲成人精品在线 | 欧美综合日韩 | 久久久99精品视频 | 一区二区免费看 | 中文字幕天堂在线 | www.99xxxx.com| 欧美日本在线视频 | 久久99深爱久久99精品 | 姑娘第四集免费看视频 | 国产精品久久久久久久久久三级 | 亚洲欧美一区二区三区在线观看 | 深夜激情视频 | 黄色网址你懂的 | 一级做a爱视频 | 国产精品视频自拍 | 午夜激情视频网站 | 久久露脸国语精品国产91 | 成年性羞羞视频免费观看无限 |