
因此,我創建了一個簡單的 grep 命令,該命令僅獲取用戶名以 161 開頭且旁邊有 3 位數字的最後登入者:
last | grep "^161[0-9]{3}"
但是,即使清單中包含這些使用者名,它也不會列印任何內容。更奇怪的是如果我用egrep而不是grep
last | egrep "^161[0-9]{3}"
該命令有效。
誰能解釋一下有什麼差別嗎?
答案1
正如 Steeldriver 已經指出的那樣,grep
使用基本正規表示式,grep -E
而egrep
使用擴展正規表示式。
last | grep '^161[0-9]\{3\}'
last | egrep '^161[0-9]{3}'