所以,我在和grep玩耍,情況是這樣的:我在根目錄中有兩個(gè)文件“ sample”和“ simple”,從我讀到的?regexp匹配前一個(gè)字符的出現(xiàn),因此以下內(nèi)容應(yīng)該給我“ simple”作為輸出:-ls | grep 'sia?mple'但它似乎不起作用。但是,以下工作原理:ls | awk '/sia?mple/ {print}'還LS的版本?,*等似乎比的grep或awk的工作方式不同
1 回答

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
ls
完全不支持?
,*
或任何元字符。
外殼將擴(kuò)大?
,*
,[
]
,{
}
(和一對(duì)夫婦的其他東西),在命令行上(如果加引號(hào))。這會(huì)在命令運(yùn)行之前發(fā)生(您可以使用echo s?mple
或進(jìn)行檢查echo s[ai]mple
)。
有許多不同的正則表達(dá)式“風(fēng)味”?;旧?,每個(gè)工具和庫(kù)都有其自己的正則表達(dá)式語(yǔ)法和怪癖。
至于grep
,請(qǐng)查閱手冊(cè)。
在具體的:
在基本正則表達(dá)式中,元字符'?','+','{','|','('和')'失去了特殊的含義;而是使用反斜杠版本'\?','\ +','\ {','\ |','\('和'\)'。
(如果grep
使用默認(rèn)選項(xiàng)運(yùn)行,將獲得“基本”正則表達(dá)式。)
因此:
grep 'sia\?mple'
將匹配siample
和simple
。
添加回答
舉報(bào)
0/150
提交
取消