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

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

linux中正則匹配指定開頭和結(jié)尾的一段(有換行)內(nèi)容?

linux中正則匹配指定開頭和結(jié)尾的一段(有換行)內(nèi)容?

一只斗牛犬 2019-03-07 16:29:10
如圖中為日志的一段內(nèi)容,現(xiàn)在需要統(tǒng)計(jì)這個(gè)接口的執(zhí)行時(shí)間以及對應(yīng)的參數(shù)。也就是需要拿到 /api/dialog 這 一行開始直到 [ info ] 執(zhí)行時(shí)間: 1.03604388237 這一行結(jié)束的之間的所有內(nèi)容,我用 grep 很難拿到這些內(nèi)容,只能取某一行的內(nèi)容,跨行就不行了。請問如何解決?
查看完整描述

2 回答

?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

可改用 sed 命令, 如

sed -e '/\/api\/dialog/,/執(zhí)行時(shí)間/!d' a.txt

對應(yīng) a.txt 文件內(nèi)容

[ 0 ] GET /api/hi
[ info ] 執(zhí)行時(shí)間: 0[ 1 ] GET /api/dialog
[ info ] 執(zhí)行時(shí)間: 1[ 2 ] POST /api/dialog
[ info_api ] array (    'a' => 2)
[ info ] 執(zhí)行時(shí)間: 2[ 3 ] POST /api/dialog
[ info_api ] array (    'a' => 3)
[ info ] 執(zhí)行時(shí)間: 3

輸出

[ 1 ] GET /api/dialog
[ info ] 執(zhí)行時(shí)間: 1[ 2 ] POST /api/dialog
[ info_api ] array (    'a' => 2)
[ info ] 執(zhí)行時(shí)間: 2[ 3 ] POST /api/dialog
[ info_api ] array (    'a' => 3)
[ info ] 執(zhí)行時(shí)間: 3


查看完整回答
反對 回復(fù) 2019-03-07
?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果有更多的信息,可以用正則。 
提供一個(gè)傻瓜化的提取方案供參考:

#!/bin/bashlog=1.txt
getstart=$(cat $log |grep -n "/api/dialog" |awk  -F':' '{print $1}' |xargs)
getlink=$(cat $log |grep -n "^\[" |awk  -F':' '{print $1}' |xargs)
startArray=(${getstart})
linkArray=(${getlink})for (( i = 0; i < ${#linkArray[*]}; i++ )); do
    for (( j = 0; j < ${#startArray[*]}; j++ )); do
        if [[ ${startArray[$j]} -eq ${linkArray[$i]} ]]; then
            next=$(expr $i + 2)            echo "start line:${startArray[$j]}  end line:${linkArray[$next]}"
            content=$(cat $log |sed -n "${startArray[$j]},${linkArray[$next]}p" )
            runTime=$(echo "$content" |grep "執(zhí)行時(shí)間" |awk '{print $NF}')
            runParmas=$(echo "$content" |grep -v  "執(zhí)行時(shí)間" |grep -v "/api/dialog")            echo "API info  /api/dialog   runTime: ${runTime} runParmas:${runParmas}"
        fi
    done done


查看完整回答
反對 回復(fù) 2019-03-07
  • 2 回答
  • 0 關(guān)注
  • 2444 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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