Como você pode ver, criei para testar a seguinte estrutura:
mkdir test && cd test && touch file1 file2 file3 lol test2
touch -t 200805101024 file*
obtendo isso:
ls -la
total 8
drwxr-xr-x 2 root root 4096 Oct 13 18:09 .
drwxr-xr-x 4 phphil phphil 4096 Oct 13 18:09 ..
-rw-r--r-- 1 root root 0 May 10 2008 file1
-rw-r--r-- 1 root root 0 May 10 2008 file2
-rw-r--r-- 1 root root 0 May 10 2008 file3
-rw-r--r-- 1 root root 0 Oct 13 18:09 lol
-rw-r--r-- 1 root root 0 Oct 13 18:09 test2
E depois de executar seu comando correto:
find . -type f -mtime +5 ! -name 'test2' -exec rm -f {} \;
A situação é a esperada:
ls -la
total 8
drwxr-xr-x 2 root root 4096 Oct 13 18:09 .
drwxr-xr-x 4 phphil phphil 4096 Oct 13 18:09 ..
-rw-r--r-- 1 root root 0 Oct 13 18:09 lol
-rw-r--r-- 1 root root 0 Oct 13 18:09 test2
Editar: Localizando informações sobre comandos ou parâmetros de comando:
Quando não tenho certeza sobre o comportamento de um determinado comando e / ou parâmetro, procedo da seguinte forma:
man find | less
então você pode procurar o que você está procurando dentro do manual do comando da seguinte forma:
- digite
/
- escreva os termos de pesquisa que eu acredito que sejam
-mtime
- , em seguida, você pode ir para a próxima ocorrência de seus termos de pesquisa, digitando
N
ou o anterior, digitandon
Descobri estas informações interessantes:
-mtime n File's data was last modified n*24 hours ago. See the comments for -atime to understand how round‐ ing affects the interpretation of file modification times.