bash를 사용하여 문자열의 공백을 일치시키는 방법은 무엇입니까?

bash를 사용하여 문자열의 공백을 일치시키는 방법은 무엇입니까?
ls
Session 9 - Terminal Value.mp4

이제 삭제하고 싶습니다.

shopt -s dotglob
rm -rf  .*.mp4

아무런 효과가 없으며 파일은 Session 9 - Terminal Value.mp4그대로 유지됩니다. .공백과 일치하지 않을 수도 있습니다.

답변1

dotglob.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.

globbing은 공백 문자와도 일치하므로 필요한 것은

rm *.mp4

관련 정보