![如何删除所有包含“ (2)”通配符的文件不起作用](https://linux22.com/image/877330/%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E6%89%80%E6%9C%89%E5%8C%85%E5%90%AB%E2%80%9C%20(2)%E2%80%9D%E9%80%9A%E9%85%8D%E7%AC%A6%E7%9A%84%E6%96%87%E4%BB%B6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我想删除文件名中包含“ (2)” (不带引号)的所有文件。我首先尝试使用 ls 进行测试
ls *(2)*
并列出文件夹中的所有文件
ls "*(2)*"
没有列出任何文件,我必须如何格式化通配符才能做正确的事情?
谢谢
答案1
您需要转义(或引用)括号 - 但不需要转义通配符,*
例如
ls *\(2\)*
或者
ls *"(2)"*
甚至
ls *'('2')'*
如果您想要明确匹配前导空格,则需要对其进行转义或引用,例如
ls *\ \(2\)*
或者
ls *' (2)'*