這正是我試圖grep,如何搜索確切模式?
grep -n 'qtrain' *.m
但我也
SKSC.m:195:model.qtrain = model.qtrainExtra(:,k-1);
SKSC.m:196:model.mqtrain = model.mqtrainExtra{k-1};
SKSC.m:197:model.sqtrain = model.sqtrainExtra{k-1};
如何擺脫別人的? 我只是想與我的模式完全匹配。
這正是我試圖grep,如何搜索確切模式?
grep -n 'qtrain' *.m
但我也
SKSC.m:195:model.qtrain = model.qtrainExtra(:,k-1);
SKSC.m:196:model.mqtrain = model.mqtrainExtra{k-1};
SKSC.m:197:model.sqtrain = model.sqtrainExtra{k-1};
如何擺脫別人的? 我只是想與我的模式完全匹配。
如果「精確模式」你的意思是,只有qtrain
它的完整產品線, 然後使用-x
標誌:
grep -nx qtrain *.m
這將只匹配包含正是「qtrain」,沒有別的線路。
如果 「精確模式」 你的意思是要匹配 「qtrain」,而不是 「blahqtrain」 或 「qtrainblah」,那麼你可以使用-w
匹配全字:
grep -nw qtrain *.m
這僅此行您輸入相匹配:
SKSC.m:195:model.qtrain = model.qtrainExtra(:,k-1);
順便說一句,這是一個使用正則表達式另一種等價的方式:
grep -n '\<qtrain\>' *.m
從man grep
:
符號
\<
和\>
分別匹配的 空字符串開始和結束字。
你也可以只做到
grep -n '\.qtrain' *.m
要獲得 「.qtrain」 任何東西。請注意,你必須避免點,而grepping
你只希望它返回「qtrain」?如果是這樣,你可能想使用
grep -no qtrain *.m
如果你希望它只會匹配其中「qtrain」線是唯一的文本,使用
grep -n ^qtrain$ *.m
什麼是您預期的輸出究竟?舉個例子 – kisanme