[英]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.