Classificar de. Você não precisa de -exec ls -l {} \;
, o comando find
já lista os arquivos. Se você quiser listá-los com mais detalhes, você pode usar find -ls
. Não há nada de errado com -exec ls ...
, tudo bem se você preferir isso, só não é necessário.
O -mtime N
encontrará arquivos que foram modificados exatamente N dias atrás. Os detalhes estão em man find
:
+n for greater than n,
-n for less than n,
n for exactly n.
Então, para encontrar os arquivos modificados nos últimos 2 dias, você executaria
find /target/path -mtime -2 -ls
Observe que find .
pesquisará no diretório atual. Para pesquisar em um diretório específico, use um caminho como find /path/to/dir
. Se o primeiro argumento for o diretório de destino, use (lembre-se de sempre citar suas variáveis):
find "$1" -mtime -"$2" -ls
Além disso, observe que -mtime
lida apenas com períodos de 24 horas, "dias". Você precisará levar isso em conta ao escrever seu comando. Conforme explicado em man find
(isso é para -atime
, mas o mesmo se aplica a -mtime
):
File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago.