不ouputting預期的結果,我試圖尋找我的代碼庫以下模式的實例:出現正則表達式正確形成,但在grep的
m_vParts[foo] =
並伴有不同空白類似的例子。這樣我就可以了這個表達式:
m_vParts\[.*\]\s*=[^=]\s*
當我測試這個在http://gskinner.com/RegExr/和其他正則表達式測試儀類網站,發現正是我想要的。但是,當我實際grep
(或egrep
)我沒有得到任何結果。我的猜測是我的正則表達式不適合grep
的正則表達式,但我不確定我到底在哪裏。
下面是實際的命令我給:
[e]grep -Irn "m_vParts\[.*\]\s*=[^=]\s*" .
我既包含單引號和雙引號嘗試。
下面的代碼一個小樣本是示例性的基本代碼的:
pcTab->m_vParts[iLastPart] = pcPart;
if (m_pcCurrentTab->m_vParts[i]== pcPart)
我期望的是,第一線將是一個匹配,且第二線不會。
此外,我應該注意到我在Windows 7 x64上使用GnuWin32 grep。
在此先感謝您的任何指導;非常努力避免非自動搜索:)
嗯,'egrep -Irn「m_vParts \ [。* \] \ s * = [^ =] \ s *」.'在我的Ubuntu盒子上打了一針... – 2012-07-23 19:46:12
你說你正在運行這個命令在Windows上。你究竟如何運行它?比如,這是在Bash中,還是在直接的Windows shell中,或者。 。 。 ? – ruakh 2012-07-23 19:47:58
它在Windows外殼中,使用GnuWin32包中的一些Linux工具(如grep)的Windows端口。我想這可能是這個軟件包的一個問題,因爲人們似乎能夠在Linux上獲得預期的結果。 – 2012-07-23 20:00:17