[英]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)<...>'
有關正則表達式替代的詳細說明:
grep "<ValidateXYZResponse" filename.log* | grep -Pv "<ResponseCode>(?:000|40[346]|410)<ResponseCode>"
(?:000|40[346]|410)
非捕獲組提供要排除的代碼列表 |
是交替(OR)運算符 [346]
表示一個字符,該字符或者3
, 4
或6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.