[英]How to ignore line breaks in windows version gnu grep?
Windows XP,gnu grep, 網址為http://gnuwin32.sourceforge.net/packages/grep.htm
我有帶換行符的文件:
test
123
我嘗試使用gnu grep通過正則表達式"test.*\\n*.*12"
查找此文件
grep -G "test.*\n*\.*12" C:\myfile_with_linebreaks.txt
但沒有成功。
我需要使用哪些參數或regexp模式來查找帶換行符的字符串?
我經常使用[^\\0]
(每個字符,但NUL除外),因為大多數字符串都不包含NUL字符。 否則,我將組裝一個包含的字符組.
和 \\n
:
grep -G "test[.\n]*12" C:\
相反,如果您想要在test和123之間恰好一個換行符,我將使用非貪婪*
運算符:
grep -G "test.*?\n.*?12" C:\
?
*
運算符后的問號將限制該運算符。 沒有?
,它將一直持續到找到最后的下一個匹配項為止; 與?
它將在接下來的第一場比賽中停止。
同樣,可能是您明確需要使用-E開關啟用POSIX擴展正則表達式:
grep -E "test.*?\n.*?12" C:\
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.