ls: não pode acessar /directory/path/*.rar: Nenhum arquivo ou diretório

1

A partir dos resultados a seguir, parece que o * .rar está sendo usado literalmente e não expandido. A man glob não dá detalhes sobre como ela se expande. Alguém gentilmente explicaria por quê?

~/Films $ls "Night of the Living Dead (1968)/"  
Night_of_the_Living_Dead_1968.par2        Night_of_the_Living_Dead_1968.part23.rar.1  
Night_of_the_Living_Dead_1968.part01.rar  Night_of_the_Living_Dead_1968.part24.rar  
...

~/Films $ls "Night of the Living Dead (1968)/*.rar"  
ls: cannot access Night of the Living Dead (1968)/*.rar: No such file or directory  
~/Films $ls "$(pwd)/Night of the Living Dead (1968)/*.rar"  
ls: cannot access /home/g/Films/Night of the Living Dead (1968)/*.rar: No such file or directory  
~/Films $ls "Night of the Living Dead (1968)/*rar"  
ls: cannot access Night of the Living Dead (1968)/*rar: No such file or directory  
    
por user985675 10.11.2011 / 13:40

1 resposta

4

Um * entre aspas simples é tratado literalmente. Então você precisa colocar apenas o nome do diretório que tem espaços, entre aspas:

ls "Night of the Living Dead (1968)"/*.rar  

Um * entre aspas duplas é expandido pelo shell.

    
por 10.11.2011 / 13:44

Tags