2016-07-21 78 views
0

我正在編寫一個shell腳本,在其中查找application.I的名稱我正在使用grep來過濾掉應用程序的名稱。但與應用程序名稱一起,我也正在獲取包含該單詞的其他應用程序名稱。在Linux中匹配確切的單詞

如:grep的通知

輸出:通知

 notifications-ui 

我得到含有單詞「通知」 所有應用程序的輸出是否有在Linux下任何命令只匹配指定的字。

對此的任何幫助將非常有幫助。

謝謝

+0

取決於「只有指定的字」的含義。你想在字詞前後避免字符?然後,您可以簡單地在要匹配的字符串前後添加空格。 – mhoff

回答

0

grep的手冊頁會告訴你光。

我相信-x標誌就是你要找的。

-x,--line-regexp 只選擇那些與整條線完全匹配的匹配項。 (-x由POSIX指定)。

因此,嘗試運行:

grep -x notifications 
+0

感謝您的回覆,但使用-x我沒有得到任何輸出。 – RAcharya

0

使用GNU的grep,你可以試試這個

grep -E '(^|)notifications(|$)' FILE 
+0

'$ grep「\ 」<<<'notifications-ui'' 'notifications-ui' –

+0

@Ignacio Vazquez-Abrams是的,我以前回答'grep「\ 」FILE'無法處理這種情況。感謝您指出。 – hflzh

+0

感謝您回覆查詢。但我正在尋找類似cf services |的東西grep <。它應該只列出服務綁定到指定的應用程序名稱。 – RAcharya

0

嘗試找到命令:

 find /path/notifications 
+0

感謝您的回答,但我僅列出使用cli的應用程序名稱,然後使用grep對其進行過濾。 – RAcharya

相關問題