2013-11-02 146 views
0

我正在尋找一種簡單的方法來搜索文檔中非常特定的字符串。 例如我只想搜索/ VAR在一個文件中,但搜索不應該輸出包含其他子文件夾或其他words.Generally「grep的-w」幫助的組合,但這次不會任何結果特定的字符串搜索

# grep -w /var newfile 
/var 
/var/tmp 
/var/junk 
/var iety 
/var-nation 
# grep -w var newfile 
/var 
/var/tmp 
/var/junk 
/var iety 
/var-nation 

但我只想要查找「/無功」這樣的結果應該是這樣的

# {command/script} /var newfile 
/var 

注:我真的很喜歡它,如果它是一個簡單的命令(幾行OD編碼也將這樣做),它應該工作在UNIX上的bash上

+1

你能不能假設它會通過例如空間包圍「/ var」或假定它會有一個新行,例如「/ var \ n」? –

+0

你有沒有試過sed? –

+0

@Nathan,是的,每個字符串都需要作爲整體進行搜索,所以「/ var」會有新行「/ var \ n」 – Marcos

回答

2

使用^$錨定表達到每一行的開頭和結尾:

grep '^/var$' newfile 
+0

非常感謝您的快速回復... :)! – Marcos

+0

我現在有一個不同的問題。如果不是簡單的字符串,會發生什麼情況,我使用空格字符串,並且在執行搜索之前將其放入變量中。 如何使它與空間變量一起工作? – Marcos

1

你可以做同樣的awk

awk '/^\/var$/' newfile 
+0

我現在有一個不同的問題。如果不是簡單的字符串,會發生什麼情況,我使用空格字符串,並且在執行搜索之前將其放入變量中。 如何使它與空間變量一起工作? – Marcos

+0

'var =「一些空格」'然後搜索這個,做:'awk'$ 0〜t't =「$ var」file' – Jotne

+0

我想,我之前並不清楚我的問題......但是這回答:)!我想知道如何使用ur awk方法進行選擇性搜索,如果模式/變量中有空格? – Marcos