ls
Session 9 - Terminal Value.mp4
现在我想删除它。
shopt -s dotglob
rm -rf .*.mp4
它不起作用,文件Session 9 - Terminal Value.mp4
仍然在那里。.
可能无法匹配空格。
答案1
dotglob
用于匹配以.
(dotfiles) 开头的文件名,这些文件名在使用 glob 模式时会被隐藏(除非.
在模式中明确存在)。
例子:
$ shopt dotglob
dotglob off
$ touch .lala
$ ls *lala
ls: cannot access '*lala': No such file or directory
$ shopt -s dotglob
$ shopt dotglob
dotglob on
$ ls *lala
.lala
您的模式.*.mp4
匹配以文字开头、.
后跟任意字符串*
、后跟的文件名.mp4
。
例如,它将匹配文件名.Session 9 - Terminal Value.mp4
(无论是否dotglob
启用,因为第一个.
存在于模式中)。
由于通配符也匹配空格字符,因此你只需要
rm *.mp4