2014-03-27 4 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" ]] 

당신은 할 수 있습니다 : : 대신

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

. '-f' 대신에'-e'를 원한다. 또한'$ variable'이란 무엇입니까? – Khaur

+0

$ 변수는 TIMESTAMP에 대한 "변수"입니다 – Dan

+0

타임 스탬프가 파일 이름의 일부입니까? 그렇다면, ".../member-name-file $ variable.txt"'이어야하고 그렇지 않으면 grep은'.../member-name-file "'과'$ variable.txt'에서 다른 파일로 보일 것입니다. – Khaur

답변

1

당신은 사용자의 입력의 이름을 딴 파일에서 일치하는 패턴을 읽으려는

if grep -q "$word" "/root/Desktop/Dan/Logs/member-name-file" 
관련 문제