我需要刪除/過濾一個非常大的日誌文件 我設法將日誌文件放入以文本塊開始的文本塊,該行以包含<--
或-->
的行開頭, Content-Length:
現在如果該文本塊包含單詞REGISTER
它需要被刪除。基於內容刪除兩行之間的文本塊
我發現流動的例子:
# sed script to delete a block if /regex/ matches inside it
:t
/start/,/end/ { # For each line between these block markers..
/end/!{ # If we are not at the /end/ marker
$!{ # nor the last line of the file,
N; # add the Next line to the pattern space
bt
} # and branch (loop back) to the :t label.
} # This line matches the /end/ marker.
/regex/d; # If /regex/ matches, delete the block.
} # Otherwise, the block will be printed.
#---end of script---
上this頁
寫由羅素·戴維斯,但我不知道如何將這種傳輸到單個行語句在管道 我的目標是使用是將日誌文件的一個tail -F
管道到最終版本,所以它得到由分鐘更新
sed是一個很好的工具,可以簡單地替換一行代碼,但對於其他任何你應該使用awk的代碼來說,代碼將會更加清晰,並且在將來更容易增強。請張貼一些小樣本輸入和期望的輸出。 –