команда поиска:поиск по заданному времени
Вопрос
Как я могу найти объекты, созданные "30 июля 04:37", и переместить их в /tmp?Что-то не так:
find . -ctime "0037043007" -exec mv {} /tmp +
Решение
Смотрите GNU Найти руководство (и форматы ввода времени информация тоже).
В частности, -newerct '30-Jul-2009 04:37'
option, кажется, делает большую часть того, что вы хотите.
Единственная загвоздка заключается в том, что справочная страница подразумевает, что она работает для файлов строго более новых, чем заданное время.Это говорит о том, что вам нужно использовать абсолютное время:
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 является текущим).
Другие советы
for file in $(ls -lR | grep "Jul 14" | awk '{print $9}')
do
mv $file /tmp
done
Я не уверен, почему вы используете " exec {} +
" синтаксис ... Как насчет этого:
find . -ctime "0037043007" -exec mv \{} /tmp/ \;