Como listar arquivos com um padrão específico criado nos últimos 30 dias no unix [duplicado]

0

Estou usando o comando abaixo, mas não está funcionando

find . PYRLLPS_GL_201610D2* -maxdepth 1 -mtime -30

Eu recebo o erro abaixo

find: bad option -maxdepth
find: [-H | -L] path-list predicate-list
    
por Dhivya 19.04.2016 / 09:54

2 respostas

0

-maxdepth não é especificado por POSIX . Parece que sua versão de find não é compatível com essa principal.

Formas de realizar o mesmo efeito usando apenas opções POSIX são discutidas aqui:

Além disso, não está claro o que você está tentando fazer, mas você pode ter o uso de find confuso:

Se você estiver tentando encontrar todos os arquivos com nomes que começam com PYRLLPS_GL_201610D2 , você deve usar o operador -name e proteger o próprio padrão da expansão (globalização de concha) para que find veja o padrão em si, em vez do padrão que está sendo expandido pelo shell.

Algo assim:

find . -path '*/*/*' -prune -o -name PYRLLPS_GL_201610D2\* -mtime -30 -print

Se você estiver tentando encontrar todos os arquivos com -mtime -30 diretamente dentro do diretório atual ou dentro de um dos diretórios PYRLLPS_GL_201610D2* no diretório atual, então você tem a idéia correta e está faltando apenas o -maxdepth de solução alternativa vinculada acima.

    
por 19.04.2016 / 10:01
0
find . -maxdepth 1 -name PYRLLPS_GL_201610D2*  -mtime -30

Se você quiser encontrar um arquivo com o nome PYRLLPS_GL_201610D2AAAA, é necessário o código:

find . -maxdepth 1 -name 'PYRLLPS_GL_201610D2*'  -mtime -30
    
por 19.04.2016 / 11:26

Tags