我有一個主文件,我將其用作查找,並且我有搜索字符串是短語。當它是一個變量時對一個短語進行清理
我現在的嘗試是
for i in `cat list` #list contains the phrases that I'm looking for
do
grep $i master.file
done
但是自從我最初的搜索項目(在這種情況下$ I)是一個短語,我得到了很多的錯配。例如,如果短語是「Blah for the」,那麼我會得到很多匹配,其中有「the」或「for」,但不是完整的模式。從命令行我可以做
grep "Blah for the" master.file
它給了我有意義的結果。 如何從腳本中獲得相同的結果?
一個可能的解決方案是將我的短語和我的主文件中的空格分開。但那會變得很難看。
任何幫助表示讚賞。 謝謝!
只需使用'grep的-f列表master.file' – anubhava
@anubhava謝謝,這似乎是我一直在尋找的答案。但是,當我嘗試這個時,結果的順序變得混亂。即如果在「列表」中有10個短語,我用你的線得到的答案給我匹配錯誤的順序。任何想法,爲什麼這可能是? – VM17
切勿使用未加引號的變量(除非您可以在您知道自己在做什麼的情況下下注美元賬單;這就是變量語法中的$)。 ' 「$ I」'。當然'''貓'什麼都不會在這裏工作。在循環中使用'read'。 –