Desejo encontrar um conjunto de arquivos a serem removidos que não foram acessados desde a última alteração do inode. Arquivos nos quais a última atividade aconteceu quando foram movidos para o diretório em que estão atualmente.
Aqui eu tento passar cada arquivo como o arquivo de referência para o teste de localização - novo
man find
...
-newerXY reference
Compares the timestamp of the current file with reference.
...
Isto é o que eu tentei até agora, mas não funciona.
find . -type f | xargs -I{} find -newerac {} -printf "%p\tinode: %i\naccess: \t%a\nchange: \t%c\n"
Respostas:
Isso fornece todos os arquivos que diferem entre atime e ctime:
Veja este exemplo:
Agora veja as estatísticas do arquivo:
Separei cada campo por nova linha e cada registro por linha em branco para facilitar o processamento com awk:
awk 'BEGIN {FS="\n"; RS=""}; $2!=$3 {print $1}'
Aqui, o separador de campos e o separador de registros são definidos no início (o RS interpreta a sequência vazia como uma linha em branco). Isso significa que $ 2 e $ 3 mantêm o atime e o ctime. Se eles diferem, o nome do arquivo correspondente (em $ 1) é impresso.
O resultado aqui é:
fonte