最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分享awk變量$0的妙用

 更新時(shí)間:2013年03月02日 19:34:51   作者:  
對(duì)awk的非常入學(xué),于是把exp.log的處理那段都用awk寫(xiě)出來(lái)。驚喜的發(fā)現(xiàn)awk有個(gè)內(nèi)置參數(shù)NR,而且awk內(nèi)部也可以進(jìn)行運(yùn)算

腳本內(nèi)容:

復(fù)制代碼 代碼如下:

#!/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

然后又發(fā)現(xiàn)awk中$0的鬼怪。于是進(jìn)一步簡(jiǎn)化成了這個(gè)樣子:

復(fù)制代碼 代碼如下:

#!/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}'

終于算是圓了自己用一句話搞定它的夢(mèng)。yeah~ 不過(guò)對(duì)這個(gè)原理還是不很明白。因?yàn)閜rint x;x=$0出來(lái)是上一行,但print $0則是本行。why? 網(wǎng)上對(duì)打印前一行還提出另一個(gè)寫(xiě)法,就看的更莫名其妙了:
awk '/regex/{print (x==""?"":x)};{x=$0}' $1

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

不過(guò)這畢竟是恰好上下行而已,如果是要前幾行的,還是要靠NR運(yùn)算了。

因?yàn)閍wk的流式處理,print x;x=$0,這個(gè)時(shí)候的x要等到下一行時(shí)才print出來(lái)。

相關(guān)文章

  • Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享

    Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的一個(gè)簡(jiǎn)易Web服務(wù)器例子分享,本文實(shí)現(xiàn)的Web服務(wù)器非常簡(jiǎn)單實(shí)用,可以在你不想安裝nginx、apache等大型WEB服務(wù)器時(shí)使用,需要的朋友可以參考下
    2014-12-12
  • Shell中創(chuàng)建序列和數(shù)組(list、array)的方法

    Shell中創(chuàng)建序列和數(shù)組(list、array)的方法

    這篇文章主要介紹了Shell中創(chuàng)建序列和數(shù)組(list、array)的方法,本文講解了seq方法生成以及通過(guò)內(nèi)部{begin..end}生成法,需要的朋友可以參考下
    2015-07-07
  • 幾個(gè)常用的Linux操作系統(tǒng)監(jiān)控腳本代碼

    幾個(gè)常用的Linux操作系統(tǒng)監(jiān)控腳本代碼

    本文介紹了幾個(gè)常用的Linux監(jiān)控腳本,可以實(shí)現(xiàn)主機(jī)網(wǎng)卡流量、系統(tǒng)狀況、主機(jī)磁盤(pán)空間、CPU和內(nèi)存的使用情況等方面的自動(dòng)監(jiān)控與報(bào)警。根據(jù)自己的需求寫(xiě)出的shell腳本更能滿足需求,更能細(xì)化主機(jī)監(jiān)控的全面性
    2013-07-07
  • shell腳本返回值問(wèn)題的解決

    shell腳本返回值問(wèn)題的解決

    這篇文章主要介紹了shell腳本返回值問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Linux中常用資源監(jiān)控命令總結(jié)

    Linux中常用資源監(jiān)控命令總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Linux中常用的資源監(jiān)控命令,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • shell 隨機(jī)從文件中抽取若干行的實(shí)現(xiàn)方法

    shell 隨機(jī)從文件中抽取若干行的實(shí)現(xiàn)方法

    這篇文章主要介紹了shell 隨機(jī)從文件中抽取若干行的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-03-03
  • 淺析Shell腳本中的條件判斷[?]與[[?]]的區(qū)別

    淺析Shell腳本中的條件判斷[?]與[[?]]的區(qū)別

    在編寫(xiě)?Shell?腳本時(shí),條件判斷是控制腳本流程的重要手段,Shell?提供了多種方式來(lái)進(jìn)行條件判斷,其中[?]和[[?]]是兩種常見(jiàn)的條件測(cè)試表達(dá)式,下面我們就來(lái)看看兩者的區(qū)別吧
    2024-12-12
  • Linux 分區(qū)初始化為物理卷,把物理卷加入卷組的方法

    Linux 分區(qū)初始化為物理卷,把物理卷加入卷組的方法

    下面小編就為大家?guī)?lái)一篇Linux 分區(qū)初始化為物理卷,把物理卷加入卷組的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • shell 使用指定的分割符來(lái)分割字符串的方法

    shell 使用指定的分割符來(lái)分割字符串的方法

    這篇文章主要介紹了shell 使用指定的分割符來(lái)分割字符串的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Shell腳本生成Go的程序包的實(shí)現(xiàn)步驟

    Shell腳本生成Go的程序包的實(shí)現(xiàn)步驟

    通過(guò)編寫(xiě)Shell腳本,我們可以大大簡(jiǎn)化Golang項(xiàng)目的打包和部署流程,本文就來(lái)介紹一下Shell腳本生成Go的程序包的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

湖州市| 呼图壁县| 额济纳旗| 绥滨县| 军事| 炉霍县| 阜新| 武川县| 柘城县| 南华县| 大连市| 溧阳市| 定陶县| 慈利县| 广东省| 治多县| 贵定县| 麻江县| 蓬溪县| 遂宁市| 顺昌县| 铁岭县| 友谊县| 财经| 离岛区| 六盘水市| 苍梧县| 浦城县| 汉阴县| 团风县| 即墨市| 清水河县| 昌都县| 祁门县| 清徐县| 吴堡县| 泰兴市| 沙湾县| 平度市| 三台县| 新巴尔虎右旗|