簡體   English   中英

Unix grep正則表達式如何grep for

[英]Unix grep regex how to grep for

我有一個文本文件

$ cat test.log
SYB-01001
SYB-18913
SYB-02445
SYB-21356

我想gre 01 01和18913只是為了做到這一點

我想要輸出

SYB-01001
SYB-18913
SYB-02445

我試過這個,但不確定它有什么問題

grep 'SYB-(18913)|0*)' test.log

對grep使用“擴展正則表達式”的-E標志。

例如

grep -E 'SYB-(0|18913)' test.log

其他需要注意的事項:

  • 括號必須匹配(對於每個左括號,你想要一個右括號)
  • 0*表示零個或多個0字符 - 實際上這將匹配所有內容

試試看:

grep 'SYB-\(18913\|0*\)' test.log

但是你可能不希望0*部分這樣做。 也許0+更好。

AWK

awk '/SYB-(0|18913)/' file

你的括號出來了。 嘗試

grep 'SYB-[18913|0*]' test.log

暫無
暫無

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

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