![刪除目錄中包含特定單字的所有文件](https://rvso.com/image/1000931/%E5%88%AA%E9%99%A4%E7%9B%AE%E9%8C%84%E4%B8%AD%E5%8C%85%E5%90%AB%E7%89%B9%E5%AE%9A%E5%96%AE%E5%AD%97%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6.png)
我已導航到檔案系統上的特定目錄,並希望刪除該目錄中檔案名稱中包含“sofa_”的所有檔案。
有人可以建議如何做到這一點嗎?
答案1
如果所有檔案都位於同一目錄(沒有子目錄)中,則只需執行:
rm *sofa_*
如果您需要它下降到子目錄,請使用find
:
find . -name "*sofa_*" -type f -delete
或者,如果您使用的是bash
,請啟用符合所有檔案和 0 個或多個子目錄globstar
的選項**
(使其遞歸):
shopt -s globstar
然後:
rm **/*sofa_*
答案2
find . -name "*sofa_*" -type f | xargs rm
或者正如評論中正確指出的那樣:
find . -name "*sofa_*" -type f -delete