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 +
Foi útil?

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/ \;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top