我有一個文件Cygwin的正則表達式速記字符類不匹配
cat /tmp/b
A
Quick
Brown
Fox
Killed
2 Hens
如果我在[0-9]
匹配,那麼我得到預期的
cat /tmp/b | grep "[0-9]"
2 Hens
但是,如果我嘗試匹配的數字字符類我得到意想不到的
cat /tmp/b | grep "\d"
Killed
這繼續,無論什麼組合的事情,我認爲可能會工作,我嘗試
cat /tmp/b | grep "\\d"
Killed
cat /tmp/b | grep "\\d"
Killed
cat /tmp/b | grep "\\\\d"
{No matches}
cat /tmp/b | grep "\\\d"
{No matches}
cat /tmp/b | grep "[\\d]"
Killed
cat /tmp/b | grep "[d]"
Killed
cat /tmp/b | grep "[\\\\d]"
Killed
有誰知道我做錯了,如何讓角色歸類在Cygwin的工作sed的
更新
cat /tmp/b | grep [:digit]
Quick
Killed
更新2
cat /tmp/b | grep [[:digit:]]
2 Hens
你檢查,看看是否有你的Unix Shell路徑超過一個grep的?也許你最後打電話的人不支持這種語法。如果在路徑中的Cygwin目錄之前有常規Windows目錄,那麼系統上是否安裝了Windows grep?嘗試給你想要的grep版本的完整路徑。您可能還想仔細檢查是否沒有爲「grep」定義的shell別名。哦,另外,嘗試使用單引號。 – Mars
'哪個grep'返回'/ usr/bin/grep' –
現在'man grep'。 – Mars