Ash*_*win 7 grep regular-expression
这是我的 grep 搜索
grep 'Invoker_Slark*' true_pairscore.txt
Run Code Online (Sandbox Code Playgroud)
但它返回 line Invoker_Slardar
。即使该文件包含Invoker_Slark
. 这是为什么?
Hau*_*ing 12
原因是它Invoker_Slark*
被认为是一个正则表达式,其中的k*
意思是:“k 的零次或多次出现”
这与 shell globbing 模式不同,后者*
意味着 0 个或多个字符。
要搜索行中的Invoker_Slark
任何位置,您需要:
grep 'Invoker_Slark' true_pairscore.txt
或者
grep -x '.*Invoker_Slark.*' true_pairscore.txt
如果搜索字符串必须位于行首,则必须将其更改为:
grep '^Invoker_Slark' true_pairscore.txt
或者
grep -x 'Invoker_Slark.*' true_pairscore.txt