2016-08-13 3 views
0

내가egrep을 확장 된 표현 작동하지

read searchTitle 
read searchAuthor 

egrep -iq "^$searchTitle$|^$searchAuthor$" cutText.txt 

아래의 코드는이 코드를 찾을 예정이다이 중 $searchTitle 또는 cutText.txt에서 $searchAuthor (정확히 일치). 사용자는 $searchTitle 또는 $searchAuthor을 비워 둘 수 있습니다.

예를 들어, 사용자는 빈 $searchTitle을 떠날 수 $searchTitle으로 "obiwan"를 입력하고 출력으로 표시하도록되어 :

Star Wars 1:obiwan 
Star Wars 2:obiwan 
Star Wars 3:obiwan 

내 cutText.txt의 내용은 다음과 같습니다.

mao:gou 
MARY IS A LITTLE LAMB:lol 
Star Wars 1:obiwan 
Star Wars 2:obiwan 
Star Wars 3:obiwan 

어떤 도움을 주시면 감사하겠습니다! (:

+0

없음 cutText.txt' 정확히'obiwan 없다 '. – melpomene

+0

아, 아뇨 ... 지적 해 주셔서 고맙습니다. 나는 : obiwan이라는 단어에 집착하고 있습니다. 먼저 cut을 사용 해보겠습니다. – JamesPoppycock

답변

1

당신이 할하려고했던 것은 :..

grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt 

남자 GREP egrep을가되지 않습니다 봐`에서 라인의

$ searchTitle='star wars 1'; grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt; echo "$?" 
0 
$ searchTitle='star wars'; grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt; echo "$?" 
1 
$ searchTitle='obiwan'; grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt; echo "$?" 
1 
$ searchAuthor='obiwan'; grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt; echo "$?" 
0 
$ searchAuthor='obi'; grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt; echo "$?" 
1 
+1

싱가포르에서 좋은 오후. 솔루션이 간단하다는 것을 믿을 수는 없지만, 무엇이 잘못 되었는가를 알아 내는데 너무 많은 시간을 보냈습니다. 그것을 말하고. 당신은 대단히 나를 배쉬 프로그래밍을 배우는 길로 많이 도왔다. 나는 전체 정규식 구문이 매우 혼란 스럽다는 것을 발견했으며, 온라인으로 연구하고 혼란스러운 수많은 시간들로'제목'OR'저자'를 어떻게 greyp 할 수 있는지를 알 수 없었다. 다른 질문에 대한 귀하의 의견도 큰 도움이됩니다. 그들의 학습 여정에 따라 다른 사람들을 도우려는 마음으로 진심으로 감사드립니다. – JamesPoppycock

관련 문제