Grep
Grep 兩個單詞之間的任何內容,只要它少於指定的字元數?
我正在嘗試使用模式“John.Smith”之類的東西,但不是匹配John和Smith*之間的任何內容,我想匹配單詞之間的任何內容,只要它的 X 個字元長度或更短。
例如,如果 X = 5:
應該匹配的行:
- John Smith - Jonh F. Smith
不應該匹配的行:
- John Ferdinand Smith - Joe Brown; John Johson; Mary Smith
我怎麼能用 grep 做到這一點?
嘗試使用“綁定”。
人正則表達式:
邊界是“{”後跟一個無符號十進制整數,可能後跟“,”,可能後跟另一個無符號十進制整數,總是後跟“}”。整數必須介於 0 和 RE_DUP_MAX (255(!)) 之間,包括…
grep -E "John.{0,5}Smith" file John Smith John F. Smith
0
可以省略(編輯:在某些實現中):grep -E "John.{,5}Smith" file
我會使用以下命令:
grep 'John.\{,5\}Smith'
.
適用於任何字元。
\{,5\}
最多重複5次。