[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] nome de diretorio com espaco
From: |
Felipe Kellermann |
Subject: |
Re: [shell-script] nome de diretorio com espaco |
Date: |
Sun, 20 Jul 2003 01:21:33 -0300 (BRT) |
On Sat, 19 Jul 2003 5:49pm -0300, ClycioC wrote:
> Olá, pessoal
>
> Estou com uma dúvida que não estou conseguindo resolver:
>
> for Dir in `ls /algum/lugar`;
> do
> ls /algum/lugar/$Dir;
> done;
>
Um lugar com dois diretórios com espaço e um arquivo:
$ mkdir a\ b c\ d && touch e\ f
mkdir: created directory `a b'
mkdir: created directory `c d'
$ for i in *; do test -d "$i" && ls -d -- "$i"; done
3937 1 a\ b/
3938 1 c\ d/
$ type ls # para ficar mais claro o resultado
ls is aliased to `ls -i -I "-i" -n -s -b -F -C -G -B'
`for i in *'
Já lista o conteúdo do diretório.
`test -d'
Verificamos se de fato estamos trabalhando com um diretório.
`ls -d --'
Listamos apenas a ocorrência do diretório "i", não o conteúdo.
Evitamos problemas com valores de "i" iniciados por "-" (wd!).
Podemos usar `echo' em i se for apenas para pegar os nomes.
Se forem só diretórios, basta `echo "" *'.
Se precisa ser recursivo, podes fazer o `for' com uma saída de um
comando ls ou fazer uma função e apenas adicionar um `&& f "$i"' à linha,
--
Felipe Kellermann