第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 awk 進(jìn)行模式檢查

使用 awk 進(jìn)行模式檢查

森欄 2024-01-24 15:47:50
有沒有辦法使用 awk 或 python 來檢查模式,在我們組中,我們有 120,000 行消息,但如何知道誰在誰之后回復(fù)最多;考慮以下幾行;AABBAA抄送AABBAAAAAABB抄送AA我希望結(jié)果顯示AA->BB = 3BB->AA = 2AA->CC = 1CC->AA = 2AA->CC = 1BB->CC = 1CC->BB = 0
查看完整描述

2 回答

?
三國紛爭

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個贊

像這樣的東西可能對你來說就足夠了:


$ awk 'NR > 1 && prev != $1 { sum[prev"->"$1]++ }

       { prev = $1 }

       END { for (a in sum) { print a" = "sum[a] } }

  ' input.txt

AA->CC = 1

BB->AA = 2

AA->BB = 3

BB->CC = 1

CC->AA = 2

排序是隨機(jī)的,

它不會打印AA->CC = 1兩次;)

并且它不會打印空關(guān)系CC->BB = 0


查看完整回答
反對 回復(fù) 2024-01-24
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個贊

$ awk -v OFS="=" '                           # set for one single use

{

    if(FNR>1 && p!=$0)                       # exclude unwanted

        a[p "->" $0]++                       # count

    p=$0                                     # save $0 for next round

}

END {                                        # in the end

    PROCINFO["sorted_in"]="@val_num_desc"    # ordering in GNU awk

    for(i in a)                              # We loop

        print i,a[i]                         # and count

}' file

輸出:


AA->BB=3

BB->AA=2

CC->AA=2

AA->CC=1

BB->CC=1

如果您希望對輸出進(jìn)行排序,而不是與 awk 默認(rèn)值相關(guān)的實(shí)現(xiàn),并且您使用的是 GNU awk,請使用PROCINFO["sorted_in"]="@val_num_desc". 如果沒有,請刪除該行并將輸出通過管道傳輸?shù)絪ort -t= -k2n


查看完整回答
反對 回復(fù) 2024-01-24
  • 2 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號