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

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

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

業務爸爸:小毛驢我有個歷史交易記錄數據,以ID開頭(如ID Apple450001315857834)到 TIME結束(如TIME 1673615211)表示一條完整的記錄,其中中間有RFTIME行(如RFTIME 1673696951)表示交易正常,反正是交易異?!,F在需要把交易異常的記錄拿出來。數據如下:

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

小毛驢:安排!

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

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

很明顯上面的不符合需求,這個時候,很明顯是數據錨定有問題, 此時我只能請出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三個空間 如下圖。
PATT: sedsed輸出顯示模式空間緩沖區的內容
COMM: 顯示正在執行的命令
HOLD: 顯示hold sapce緩沖區的內容

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

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

pattern space(模式空間)相當于sed車間把流內容在這里處理.
hold space(保留空間)相當于倉庫,加工的半成品在這里臨時儲存(當然加工完的成品也在這里存儲).

 

開始調試

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

 

通過上面debug我們可以看出是因為RFTIME匹配到TIME,這個真是不細心的的原因。 改(嘗試了30多分鐘,才用debug工具看出來,真是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

分享到:
標簽:sed
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定