Vejamos

$ ls -1
arquivo.flv
CVS
lib
testes_funcionais.pl

$ cat /tmp/list
arquivo.flv
CVS
xxxxxx
lib
testes_funcionais.pl
lalala

$ xargs ls -d1 < /tmp/list 2>&-
arquivo.flv
CVS
lib
testes_funcionais.pl

O que eu fiz: usei o ls para filtrar os arquivos que existem no
diretorio corrente.

se a minha lista tiver os caminhos completos dos arquivos, eu posso
filtrar a lista sem ter que fazer testes dentro do laço, o que pode
ser custoso.

2008/7/17 César Vianna <[EMAIL PROTECTED]>:
> Exato. Segue o erro.
>
> $ bash -x ./script.sh
> ++ cat perfil0.txt
> + for i in '`cat perfil0.txt`'
> ++ head -1 /var/lib/imap/quota/q/user.a
> head: não foi possível abrir `/var/lib/imap/quota/q/user.a' para leitura:
> Arquivo ou diretório não encontrado
> + utilizado=
> ./script.sh: line 6: *1024: syntax error: operand expected (error token is
> "*1024")
>
> Acabei colocando mais um test. Aumentou o tempo de execução, mas funcionou.
>
> #!/bin/bash
> NOVA_QUOTA=30720
> for i in `cat perfil0.txt`
> do
> if [ -e /var/lib/imap/quota/q/user.$i ]
> then
> utilizado=`head -1 /var/lib/imap/quota/q/user.$i`
> n_quota_bytes=$(($NOVA_QUOTA*1024))
> if [ $n_quota_bytes -gt $utilizado ]
> then
> mv /var/lib/imap/quota/q/user.$i
> /var/lib/imap/quota/q/user.$i.old
> sed "2s/.*/$NOVA_QUOTA/"
> /var/lib/imap/quota/q/user.$i.old > /var/lib/imap/quota/q/user.$i;chown
> cyrus.mail /var/lib/imap/quota/q/user.$i
> else
> echo $i - $(($utilizado/1024/1024)) >>
> quotas-cheias.txt
> fi
> fi
> done

Responder a