簡體   English   中英

使用grep匹配確切的單詞

[英]Match exact word using grep

我需要搜索確切的單詞並打印一行。 如果我沒有的話,那是可行的. (點)。

$cat file
test1 ALL=ALL
w.test1 ALL=ALL

$grep -w test1 file
test1 ALL=ALL
w.test1 ALL=ALL

它也給出了第二行,我只想要帶有單詞test1

嘗試這個:

grep -E "^test1" file

這說明以單詞test1作為第一行的任何內容。 現在,如果您需要在行的中間進行查找,這將不起作用,但是您對此並不十分明確。 至少在給出^的示例中有效。

對於您的示例,可以在正則表達式中用^指定行的開頭,並用\\s指定空格\\s

grep "^test1\s" file

這取決於您還需要匹配哪些其他定界符。

我知道我有點晚了,但我發現這個問題和回答的思想。 單詞定義為字符序列,並用空格分隔。 所以我認為這可以工作grep -E'+ test1 | ^ test1'文件


這將搜索以test1開頭的行或以test開頭至少一個空格的行。 對不起,如果有人可以糾正我,我可以找到更好的方法:)

您可以將以下作為示例測試文件。

$cat /tmp/file
test1 ALL=ALL    
abc test1 ALL=ALL    
  test1 ALL=ALL    
w.test1 ALL=ALL    
testing w.test1 ALL=ALL

在正則表達式下運行,以搜索以test1開頭的單詞以及在行之間也包含單詞test1的行。

$ grep -E '(^|\s+)test1\b' /tmp/file   
test1 ALL=ALL    
abc test1 ALL=ALL   
  test1 ALL=ALL

暫無
暫無

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

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