Como obter apenas arquivos criados após uma data com ls?

83

Com o comando ls , é possível mostrar apenas os arquivos criados após uma data específica, hora ...?

Estou perguntando porque tenho um diretório com milhares de arquivos.

Eu quero ver todos os arquivos que foram criados desde ontem.

Eu uso ls -ltr , mas tenho que esperar para ver todos os arquivos ...

Existe um equivalente de DIRECTORY/SINCE=date do OpenVMS?

    
por Luc M 24.03.2011 / 16:27

4 respostas

106

Você pode usar o comando find para encontrar todos os arquivos que foram modificados após um determinado número de dias.

Por exemplo, para encontrar todos os arquivos no diretório atual que foram modificados desde ontem (24 horas atrás) use:

find . -maxdepth 1 -mtime -1

Observe que, para encontrar arquivos modificados antes 24 horas atrás, você precisa usar -mtime +1 em vez de -mtime -1 .

    
por 24.03.2011 / 16:41
5
find . -type f -newermt '1/30/2017 0:00:00'

Isso localizará todos os arquivos modificados após uma data específica.

    
por 18.04.2018 / 17:52
2
ls -ltr | grep "'date | awk '{print $2" "$3}''"
    
por 20.11.2013 / 16:36
1

Espero que isso funcione:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

Aqui:

$6 indicates position of month
$7 indicates day of the month

este comando acima imprime todos os nomes de arquivos criados em ou após 1º de maio a 31 de maio

se você quiser imprimir a data também no console, tente isto

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

Se você quiser especificar o caminho do diretório, tente fazê-lo

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
    
por 03.06.2017 / 20:16

Tags