Obtenha todos os nomes de arquivos em um diretório criado antes da data de entrada

2

Eu tenho um diretório contendo muitos arquivos. A saída do comando ls é

-rw-r--r-- 1 nobody nogroup    427494 May 26 13:59 14_20150526065238928590_102.txt
-rw-r--r-- 1 nobody nogroup   2113592 May 26 14:00 14_20150526065238928590_105.txt
-rw-r--r-- 1 nobody nogroup    429947 May 26 14:00 14_20150526065238928590_110.txt
-rw-r--r-- 1 nobody nogroup    453831 May 27 14:00 14_20150526065238928590_112.txt
-rw-r--r-- 1 nobody nogroup    551023 May 27 14:01 14_20150526065238928590_118.txt
-rw-r--r-- 1 nobody nogroup     60083 May 27 14:01 14_20150526065238928590_119.txt
-rw-r--r-- 1 nobody nogroup    632324 May 28 03:38 14_20150526065238928590_160.txt
-rw-r--r-- 1 nobody nogroup    735624 May 28 03:38 14_20150526065238928590_161.txt
-rw-r--r-- 1 nobody nogroup   2707507 May 28 03:40 14_20150526065238928590_162.txt

Na lista acima, desejo recuperar nomes de arquivos criados antes da data de entrada:

For eg: My input date is 20150528, I want the result: (created before 28th of May 2015)

14_20150526065238928590_102.txt
14_20150526065238928590_105.txt
14_20150526065238928590_110.txt
14_20150526065238928590_112.txt
14_20150526065238928590_118.txt
14_20150526065238928590_119.txt

Como posso conseguir isso?

    
por fortune 28.05.2015 / 08:39

1 resposta

4

Para localizar todos os arquivos no diretório atual e em seus subdiretórios cuja hora da última modificação é anterior a 2015-05-28:

find . ! -newermt 20150527

Se você quiser apenas arquivos do diretório atual e não seus subdiretórios, use:

find . -maxdepth 1 ! -newermt 20150527

Como funciona

  • find

    Este é um dos comandos mais úteis do unix ao procurar por arquivos.

  • .

    Isso diz ao find para começar a procurar no diretório atual. Você pode substituir isso por qualquer diretório que desejar.

  • !

    Isto não é lógico: inverte o teste que se segue.

  • -newermt 20150527

    Este é o teste para arquivos cujo tempo de modificação é mais recente que 2015-05-27. Por causa do ! precedente, esse teste é invertido e procura arquivos não mais recentes que 2015-05-27.

    Observe que " não mais recente que 2015-05-27" significa o mesmo que "criado antes de 28 de maio de 2015".

por 28.05.2015 / 08:54