egrep不使用扩展表达式
我有下面的代码egrep不使用扩展表达式,grep,Grep,我有下面的代码 read searchTitle read searchAuthor egrep -iq "^$searchTitle$|^$searchAuthor$" cutText.txt 此代码应该可以从cutText.txt中找到$searchTitle或$searchAuthor(精确匹配)。用户可以将$searchTitle或$searchAuthor留空 例如,用户可以将$searchTitle保留为空白,并以$searchTitle的形式键入“obiwan”,输出应如图所示
read searchTitle
read searchAuthor
egrep -iq "^$searchTitle$|^$searchAuthor$" cutText.txt
此代码应该可以从cutText.txt中找到$searchTitle
或$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
非常感谢您的帮助!(:您试图做的是:
grep -E -iq "^$searchTitle:|:$searchAuthor$" cutText.txt
man grep.白鹭已被弃用。请看:
$ 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
cutText.txt
中没有一行是准确的obiwan
。哦,不……谢谢你指出。我没有意识到:是坚持使用obiwan
。我会先尝试使用cut
。下午好,从新加坡到这里。我真不敢相信解决方案这么简单,但我花了这么多时间e找出错误并过度思考。在学习bash编程的过程中,你帮了我很大的忙。我发现整个正则表达式语法都非常混乱,我无法理解如何在网上花了无数个小时研究并弄糊涂,我只能grep标题
或作者
我自己。你对另一个问题的评论也很有帮助。我真诚地感谢你在学习过程中帮助他人的心。