做網(wǎng)站的怎么認(rèn)證微博短視頻seo營(yíng)銷(xiāo)系統(tǒng)
統(tǒng)計(jì)文本中每行指定位置出現(xiàn)的字符串的次數(shù)
假定情景
某些項(xiàng)目,會(huì)把某個(gè)特定事件記錄到Log中并且落盤(pán)(保持到硬盤(pán))?;诼浔P(pán)后的日志,要統(tǒng)計(jì)這些日志里產(chǎn)生該特定事件的次數(shù)
統(tǒng)計(jì)腳本
可以寫(xiě)一個(gè)sh腳本,來(lái)解析某個(gè)文本指定的位置,出現(xiàn)指定字符串的次數(shù)。
parse_count() {awk '{suffix = substr($0, length($0) - 87, 88)print suffix}' $1 | sort | uniq | grep "Linduo" | wc -l
}parse_count Linduo.txt
- 該腳本功能是,統(tǒng)計(jì)Linduo.txt這個(gè)文本中。每一行后88個(gè)字符,出現(xiàn)Linduo這個(gè)字符串的次數(shù)。
腳本說(shuō)明
- 聲明一個(gè)awk命令塊
awk '{ }'
- 從當(dāng)前處理的行$0,提前一個(gè)字符串。提前位置是長(zhǎng)度減去87,提前長(zhǎng)度為88。也就是從每行尾部開(kāi)始提前88個(gè)字符。
suffix = substr($0, length($0) - 87, 88)
- 打印提取的子串。
print suffix:打印上一步中提取的子串。
- 指定 awk命令輸入文件
$1
- 排序并去重,然后搜索指定的字符。并輸出出現(xiàn)指定字符的次數(shù)。
| sort | uniq | grep "Entering" | wc -l