localiza arquivos com predicados inválidos

1

Estou tentando obter todos os arquivos com mais de 40 dias. (daí o -mtime -40), mas não consegue encontrar porque alguns arquivos têm predicados inválidos. (Precisa encontrar todos os arquivos, seja em corrente ou descendente.

$ find . -name * -mtime -40 > FILE_LIST
find: invalid predicate '-file-name.xls'

E então ...

$ find ./* -name * -mtime -40 > FILE_LIST
find: invalid predicate '-file-name.xls'

E nenhum destes parece fazê-lo.

    
por Jeff Ancel 19.01.2012 / 19:53

2 respostas

1

Eu acho que o problema é que o * em seu -name * está sendo expandido para uma lista de arquivos pelo shell, que é então passado para encontrar em sua linha de comando. O comando find, em seguida, analisa a linha de comando e encontra o -file-name.xls , que ele tenta interpretar como um argumento de linha de comando.

tente

find .  -mtime -40 > FILE_LIST

que deve fazer o que você quer.

    
por 19.01.2012 / 20:05
1

AHHHH .... Se você ler a página man -mtime -40, você receberá arquivos com menos de 40 dias. Não é o que você quer fazer é isto:

 find . -mtime +40 >FILE_LIST

se você quiser encontrar / listar arquivos com mais de 40 dias.

    
por 19.01.2012 / 20:40