encontrar-comando: pesquise com o tempo criado
Pergunta
Como posso encontrar as coisas criadas "Julho 30, 4:37" e movê-los para / tmp? Algo de errado:
find . -ctime "0037043007" -exec mv {} /tmp +
Solução
Veja a GNU encontrar manual (e tempo formatos de entrada informações muito ).
Em particular, a opção -newerct '30-Jul-2009 04:37'
parece fazer mais do que você quer.
O único problema é que a página homem implica que ele funciona para arquivos estritamente mais recentes do que dado momento. Isso sugere que você precisa para usar o tempo absoluto:
1248957000 = 2009-07-30 05:30:00 (TZ = US/Pacific = UTC-07:00)
-newerct @1248957000
Isso ainda deixa o problema de como lidar com o estritamente maior do que semântica.
-newerct @1248956999 -a ! -newerct @1248957001
Isso funciona, mas é indiscutivelmente confuso (e assume que você tem ferramentas para obter o timestamp Unix a partir de um valor de data / hora).
Você precisa de uma nova versão suficiente de find
para este ao trabalho (GNU Findutils 4.4.2 é atual).
Outras dicas
for file in $(ls -lR | grep "Jul 14" | awk '{print $9}')
do
mv $file /tmp
done
Eu não sou certo porque você está usando a sintaxe "exec {} +
" ... Que tal isso:
find . -ctime "0037043007" -exec mv \{} /tmp/ \;