我在构建项目时输错了目录名称,令人尴尬的是,现在我有一个无法拼写的目录,所以我无法运行rm -rf ..<innomable>
:
> cd buil
build-fix-memleak/ buil�d-master-debug/ build-master-debug ...
> file "buil�d-master-debug"
buil�d-master-debug: cannot open `buil�d-master-debug' (No such file or directory)
> find . -maxdepth 1 -type d -name "bui*"
./build-fix-memleak
./build-master-debug
..
> ls | grep "^buil"
...
build-fix-memleak
build-group-move
build-master
build-master-debug
..
我什至无法 grep 它
如何删除它而不删除所有其他build-*
目录?
编辑:好吧,我实际上遵循了 jesse_b 评论,并将所有有用的内容移动到临时目录中,清理了当前目录,然后将所有内容再次移回
答案1
您可以(可能)将其与诸如 之类的 glob 进行匹配buil?*d-master-debug
,其中?
匹配单个字符并且*
匹配零个或多个人物。需要?
匹配,因此会阻止与正确build-master-debug
目录的匹配。
ls -d buil?*d-master-debug # Check for a single match
rm -rf buil?*d-master-debug # Remove that single match