Estou escrevendo um script que precisa verificar se algum arquivo em um determinado diretório foi modificado recentemente. Achei que poderia simplesmente usar find
, mas ele relata sucesso mesmo que não encontre uma correspondência:
$ touch afile
$ find . -mtime -1 -iname ????*
./afile
$ echo $?
0
$ find . -mtime +1 -iname ????*
$ echo $?
0
(Estou apenas usando o predicado iname para excluir '.' aqui - mas o mesmo comportamento com -type f
)
Eu preferiria não ter que analisar a saída, ls
pois isso pode ser temperamental .
Usar test -n "$(find . -mtime -1 -iname ????*)"
parece dar o resultado desejado, mas não me parece uma solução particularmente elegante.
Não preciso saber quais arquivos foram modificados - apenas se ALGUM tiver sido alterado recentemente (onde "recentemente" geralmente será de 1 dia).
Existe uma maneira melhor de fazer isso?
(pesquisando no Google, encontro muitas porcarias de SEO sobre como executar uma busca simples)