Как я могу найти созданные вещи «30 июля 04:37» и переместить их в/tmp? Что-то не так:find-command: поиск с созданным временем
find . -ctime "0037043007" -exec mv {} /tmp +
Как я могу найти созданные вещи «30 июля 04:37» и переместить их в/tmp? Что-то не так:find-command: поиск с созданным временем
find . -ctime "0037043007" -exec mv {} /tmp +
Смотрите ГНУ find руководство (и time input formats информация слишком).
В частности, опция -newerct '30-Jul-2009 04:37'
, похоже, делает большую часть того, что вы хотите.
Единственная загвоздка в том, что на странице руководства подразумевается, что она работает с файлами, строго новыми, чем заданное время. Это говорит о необходимости использования абсолютного времени:
1248957000 = 2009-07-30 05:30:00 (TZ = US/Pacific = UTC-07:00)
-newerct @1248957000
Это все еще оставляет проблему с тем, чтобы иметь дело с строго большей семантикой.
-newerct @1248956999 -a ! -newerct @1248957001
Это работает, но, бесспорно, грязный (и предполагает, что вы есть инструменты, чтобы получить метку времени Unix от даты/времени значение).
Для этого вам нужна новая версия find
(GNU findutils 4.4.2 is current).
for file in $(ls -lR | grep "Jul 14" | awk '{print $9}')
do
mv $file /tmp
done
Пожалуйста, обратите внимание, что моя цель обновлена. Я знаю файлы, но я не могу переместить их с критерием: время создания. –
* определенное время создания, не меньшее или большее. –
Я не уверен, почему вы используете "exec {} +
" синтаксис ... Как об этом:
find . -ctime "0037043007" -exec mv \{} /tmp/ \;
Я открыл новый вопрос о временных отметках здесь: http://stackoverflow.com/questions/1204669/easiest-way-to-generate-unix-timestamp. Они новы для меня. –