日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

業(yè)務(wù)爸爸:小毛驢我有個(gè)歷史交易記錄數(shù)據(jù),以ID開(kāi)頭(如ID Apple450001315857834)到 TIME結(jié)束(如TIME 1673615211)表示一條完整的記錄,其中中間有RFTIME行(如RFTIME 1673696951)表示交易正常,反正是交易異常。現(xiàn)在需要把交易異常的記錄拿出來(lái)。數(shù)據(jù)如下:

root@VM-2-15-ubuntu:~# cat list.txt 
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001315857834
PR      25
RFTIME  1673696951
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017

小毛驢:安排!

拿到這個(gè)需求,小毛驢第一就想到了用sed多行處理,而且也洋洋灑灑的寫出來(lái)第一個(gè)版本:

sed -nr ':a;N;/TIME/!ba;/RFTIME/!p;' list.txt

root@VM-2-15-ubuntu:~# sed -nr ':a;N;/TIME/!ba;/RFTIME/!p;' list.txt 
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
SAVEID  xmlCAtgyXH
TIME    1673615211
SAVEID  xmlCAtgyXH
TIME    1673615211
SAVEID  xmlCAtgyXH
TIME    1673615211
SAVEID  xmlCAtgyXH
TIME    1673615211
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017

很明顯上面的不符合需求,這個(gè)時(shí)候,很明顯是數(shù)據(jù)錨定有問(wèn)題, 此時(shí)我只能請(qǐng)出sed的debug工具---sedsed。

sedsed安裝

cd /usr/local/sbin
wget https://raw.Githubusercontent.com/aureliojargas/sedsed/main/sedsed.py
wget https://raw.githubusercontent.com/aureliojargas/sedparse/main/sedparse.py
mv sedsed.py sedsed
chmod +x sedsed

sed三個(gè)空間 如下圖。
PATT: sedsed輸出顯示模式空間緩沖區(qū)的內(nèi)容
COMM: 顯示正在執(zhí)行的命令
HOLD: 顯示hold sapce緩沖區(qū)的內(nèi)容

sed一次處理一行內(nèi)容,處理時(shí),把當(dāng)前處理的行存儲(chǔ)在臨時(shí)緩沖區(qū)中,稱為"模式空間"(pattern space);
接著用sed命令處理緩沖區(qū)(pattern space)中的內(nèi)容,處理完成后,把緩沖區(qū)(pattern space)的內(nèi)容送往屏幕.
接著清空緩沖區(qū)(pattern space),處理下一行,這樣不斷重復(fù),直到文件末尾.

sed一次處理一行內(nèi)容,處理時(shí),先讀入一行,去掉尾部換行符,存入pattern space,執(zhí)行編輯命令.
處理完畢,除非加了-n參數(shù),把現(xiàn)在的pattern space打印出來(lái),在后邊打印曾去掉的換行符.

pattern space(模式空間)相當(dāng)于sed車間把流內(nèi)容在這里處理.
hold space(保留空間)相當(dāng)于倉(cāng)庫(kù),加工的半成品在這里臨時(shí)儲(chǔ)存(當(dāng)然加工完的成品也在這里存儲(chǔ)).

 

開(kāi)始調(diào)試

PATT:ID      apple450001315857834$ //模式空間 讀入第一行
HOLD:$   // 此時(shí)hold sapce為空
COMM::a  // 執(zhí)行條件選擇a
COMM:N   // 追加讀一行數(shù)據(jù)
PATT:ID      apple450001315857834nPR      25$ // 模式空間此時(shí)內(nèi)容
HOLD:$ // 此時(shí)hold sapce為空
COMM:/TIME/ !b a  //執(zhí)行條件選擇a,不滿足,繼續(xù)讀取下一行
COMM:N
PATT:ID      apple450001315857834nPR      25nRFTIME  1673696951$ // 模式空間此時(shí)內(nèi)容
HOLD:$  // 此時(shí)hold sapce為空
COMM:/TIME/ !b a //執(zhí)行條件選擇a,滿足了---竟然滿足了。問(wèn)題就出現(xiàn)在這了。
COMM:/RFTIME/ !p // 滿足就不打印
PATT:ID      apple450001315857834nPR      25nRFTIME  1673696951$ // 模式空間此時(shí)內(nèi)容將會(huì)被清空
HOLD:$ 
PATT:SAVEID  xmlCAtgyXH$ // 模式空間讀入一個(gè)新行
HOLD:$
COMM::a
COMM:N
PATT:SAVEID  xmlCAtgyXHnTIME    1673615211$
HOLD:$
COMM:/TIME/ !b a

 

通過(guò)上面debug我們可以看出是因?yàn)镽FTIME匹配到TIME,這個(gè)真是不細(xì)心的的原因。 改(嘗試了30多分鐘,才用debug工具看出來(lái),真是xx。)

root@VM-2-15-ubuntu:~# sed -nr ':a;N;/bTIME/!ba;/RFTIME/!p;' list.txt 
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017
ID      apple450001216057835
PR      25
SAVEID  xmlCAtgyXH
TIME    1663042017

分享到:
標(biāo)簽:sed
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定