Listar arquivos com data de último acesso no linux

2

Gostaria de limpar um servidor que meu webmaster deixou se transformar em confusão.

Eu sei listar todos os arquivos não acessados nos últimos x dias usando find e -atime, mas o que estou procurando é criar uma listagem da última data de acesso para arquivos um nível abaixo no diretório /foo :

/foo/bar1.txt Dec 11, 2001
/foo/bar2.txt Nov 12, 2008
/foo/bar3.txt Jan 12, 2004

Para pastas um nível abaixo no diretório /foo , liste a data do arquivo acessado mais recentemente no diretório (sem limite de profundidade para identificar a data do último acesso)

/foo/bar1/ Feb 13, 2012
/foo/bar2/ Oct 11, 2008

Onde /foo/bar1/ tem um arquivo modificado em 1 de janeiro de 1998 e 13 de fevereiro de 2012 e /foo/bar2/ tem 30 arquivos, dos quais o mais recente foi acessado em 11 de outubro de 2008.

Esta questão é semelhante a: link mas em vez da data de modificação, a data de interesse é a última data acessada.

    
por kayaker243 12.11.2012 / 05:02

1 resposta

2

find /foo/* \( -type d ! -name . -prune \) -exec ls -lu {} \;


find /foo/* \( -type d ! -name . -prune \) | 
while read dir
do
    find $dir -type f -exec  stat -c "%X %n %x" {} \; |
          sort -rn | head -1 | awk '{print $2, $3, $4}'
done 

Tente isso.

    
por 12.11.2012 / 05:27