簡體   English   中英

Shell腳本-Unix

[英]Shell Script - Unix

grep "<ValidateXYZResponse" filename.log* | grep -v "<ResponseCode>000<ResponseCode>"

上面的命令在UNIX上可以正常工作,其中grep -v排除響應代碼為“ 000”的記錄

但是,連同“ 000”一樣,我也需要排除以下響應代碼:“ 404”,“ 410”,“ 403”,“ 406”

我是unix shell腳本的新手。

如果有人知道該怎么做,請幫忙。 感謝您的幫助。 謝謝。

您可以執行(foo|bar|blah)在正則表達式中實現OR 喜歡:

grep ...|grep -v '<...>\(000\|40[346]\|410\)<...>'

要么

grep ...|grep -vE '<...>(000|40[346]|410)<...>'

有關正則表達式替代的詳細說明:

http://www.regular-expressions.info/alternation.html

grep "<ValidateXYZResponse" filename.log* | grep -Pv "<ResponseCode>(?:000|40[346]|410)<ResponseCode>"
  • 中間的(?:000|40[346]|410)非捕獲組提供要排除的代碼列表
  • | 是交替(OR)運算符
  • [346]表示一個字符,該字符或者346

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM