我想删除当前目录中的所有文件及其不属于文件类型*.scss
的子目录。
但是,我一直遇到错误:
$ git rm -r !(*.scss)
#=> zsh: number expected
这样做的正确方法是什么?为什么命令失败?
!
是外壳的特殊字符,它可以操纵命令历史记录,因此您需要使用BackSlash或Quotes进行筛选。您也需要结肠。进行ls-files
的实验,类似于
git ls-files * ':!*.scss'
,然后用
删除文件git rm * ':!*.scss'
还请警告git rm -r
递归删除目录,并有一个很好的机会删除其中的*.scss
文件。