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