2014-03-27 62 views
1

用戶輸入電子郵件。我使用grep來檢查電子郵件是否已存在於特定文件中。使用grep查找文本文件中的字符串時遇到問題

下面是我在與

$word = [user input (email) ] 
legit = [boolean that is used for something else. No problem with that here] 

我新的麻煩代碼的一部分。請幫助我。

if [[ grep -f "$word" "/root/Desktop/Dan/Logs/member-name-file" "$variable.txt" ]] 
      then 
       echo "Email already exists on requested List**" 
       legit=false 
      else 
       echo "Email added onto list**" 
       legit=true 
      fi 
+0

您正在嘗試讀取模式從用戶的輸入命名的文件相匹配。你想'-e'而不是'-f'。另外,什麼是「$變量」? – Khaur

+0

$變量是我的「變量」TIMESTAMP – Dan

+0

是時間戳文件的一部分嗎?如果是這樣的話,它應該是'「.../member-name-file $ variable.txt」,否則grep會將'.../member-name-file「和'$ variable.txt'視爲不同的文件。 – Khaur

回答

1

相反的:

if [[ grep -f "$word" "/root/Desktop/Dan/Logs/member-name-file" "$variable.txt" ]] 

你可以這樣做:

if grep -q "$word" "/root/Desktop/Dan/Logs/member-name-file" 
相關問題