Unix

Grep 在沒有讀取權限的情況下無法工作

  • December 1, 2015

我在一個文件夾中,我沒有讀取內容的權限。

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 支持的“正則表達式”語法,其中單字母萬用字元是點 ( .)。

引用自:https://serverfault.com/questions/740045