Unix
Grep 在沒有讀取權限的情況下無法工作
我在一個文件夾中,我沒有讀取內容的權限。
ls -l
成功列出所有文件。
我想計算名稱中具有某些屬性的文件:
ls -l | grep file????.tar.gz | wc -l
上面的命令會生成很多權限被拒絕的消息,最後我沒有得到任何答复。
為什麼會發生這種情況,是否有解決方法?
**編輯:**按照 Josip Rodin 的建議,我搞砸了使用錯誤的萬用字元。執行:
ls -l | grep -e "file....\.tar.gz" | wc -l
像魅力一樣工作
您
?
在某種意義上使用該字元,似乎您希望它表示一個單字母萬用字元。但是,這就是所謂的“glob”模式語法,由執行這些命令的 shell 使用/擴展。這可能會導致 shell 試圖查找它沒有權限的東西。(如果您包含此類錯誤消息的範例,將會很有幫助。)
要在 grep 中實際進行單字母萬用字元匹配,請使用 grep 支持的“正則表達式”語法,其中單字母萬用字元是點 (
.
)。