Как найти файлы между двумя датами с помощью & ldquo; find & rdquo ;?

Трудно предсказать, что будет похоже на 10 лет, поэтому «всегда» - довольно сильное слово. : -)

Однако я могу смело сделать следующий прогноз:

a) Ubuntu не будет отходить от X.org в краткосрочной перспективе. Конечно, не для natty, и, скорее всего, не natty + 1. Точное расписание заключается в том, что многое зависит от того, насколько быстро может быть достигнута большая часть работ по разработке для компиляции, единства, gtk и других бит.

b) Даже когда мы переключаемся, мы будем держать X.org доступен для устаревших приложений. Я не знаю, как долго мы это сохраним, но, вероятно, в течение нескольких лет.

c) Некоторые драйверы (например, -fglrx и -nvidia) не будут работать с Wayland. Там также необычное графическое оборудование, среды виртуализации и т. Д., Которые не будут удовлетворять требованиям Wayland в течение некоторого времени. Таким образом, вероятно, какой-то «ретро-режим», который запускает X, как и сегодня, будет доступен для пользователей, которые предпочитают не использовать Wayland.

d) Разработчики Upstream X.org поддерживают переход экосистемы к чему-то Wayland -исходя из. Я бы предсказал, что в конечном итоге вверх по течению просто перестанет развиваться / поддерживаться X.org, и именно это приведет к тому, что X.org закончится. Когда это произойдет? 10 лет? Может быть, я не знаю.

В любом случае, не паникуйте. X.org не уходит в ближайшее время. Wayland все еще находится в подгузниках.

1
задан 1 May 2015 в 20:31

2 ответа

Bash найти файлы между двумя датами:

find . -type f -newermt 2010-10-07 ! -newermt 2014-10-08

Возвращает список файлов с отметками времени после 2010-10-07 и до 2014-10-08

[d1 ] Bash найти файлы между двумя датами:

find . -type f -mmin -15

Возвращает список файлов с отметками времени через 15 минут назад, но до этого.

Bash найти файлы между двумя timestamps:

find . -type f -newermt "2014-10-08 10:17:00" ! -newermt "2014-10-08 10:53:00"

Возвращает файлы с отметками времени между 2014-10-08 10:17:00 и 2014-10-08 10:53:00

28
ответ дан 25 May 2018 в 06:18

перемещение файлов и уведомления Пользователя, когда есть повторяющиеся имена:

как ответы Subv3rsion и Эрик Leschinski показывают, [ф5] предикат выбирает файлы, которые были изменены позже, чем дата (и время), указанный в качестве своего операнда. Найти файлы

любой [ф6] (т. е. включая его подкаталоги, вложенные в них папки и т. д.) последние изменения в (например) в сентябре 2014 года и перенести их на [ф7]

...вы можете работать:

[Ф1]

в [ф8] выражение, найдите передает именем нашли на месте [ф9]. [ф10] указывает на [F11], что команду, которая будет выполнена, и ее аргументы были предоставлены (в случае последующего выражения передают, чтобы найти после этого конкретного [ф12] предикат, аргументы-см. ниже пример этого). [от f13] должны быть экранированы как [ф14] так это не интерпретируются особым оболочкой. (Без [ф15], [ф16] положит конец всему [f17 в] команда, работает как перевод строки. Хотя эта команда [ф18] не имеет ничего после этого [зг19] выражение, не в состоянии передать аргумент [20 фунтов] до сих пор синтаксическую ошибку.)

если вы просто хотите, чтобы список файлов-это целесообразно, если Вы не знаете, как на старые письма хранятся или какие другие файлы могут присутствовать--опустить [клавиши f21] и все, что справа от него. (Для электронной почты, часто письма от разных дат хранятся в одном файле; для кого-то, в описанной в вопросе ситуации, я рекомендую выясняют, каким образом они хранятся до перемещения файлов.) Если вы хотите напечатать их имена и перемещать их, добавлять [ф22] перед [ф23].

[ф24] подсказки каждый раз, когда файл будет перезаписываться на место назначения, такое как случилось бы, если бы:

[dиода d17] любой [ф6] (т. е., включая его подкаталоги, вложенные в них папки и т. д.) файла с тем же именем, но с другой поддиректории [ф6] уже перешел в ту же операцию [ф26], или последние изменения в (например) сентября 2014 [!dиода d17]

другие способы вызова [ф30]:

у Вас есть другие варианты, как обрабатывать файлы с одинаковыми именами.

файла с тем же именем, но с другой поддиректории [ф6] уже перешел в ту же операцию [ф26], или если ты не хочешь даже, что степень интерактивности, и хотите [ф35] всегда (попытка) перезаписи одноименных файлов, используйте [f36 в]. и переместить их в [ф7] mv принимает [ф39] и [ф40] флаги, чтобы автоматически переименовать одинаковыми именами файлов, которые уже существуют в месте назначения. По умолчанию [ф41] добавлен производить имя резервной копии, и если файл с таким именем и файл с именем резервная копия уже существует в месте назначения, резервный файл будет перезаписан. Это значение по умолчанию может быть переопределено параметры, передаваемые при вызове mv, и переменные среды. См. man mv дополнительные сведения и пример ниже.

перемещение файлов и создания резервных копий в случае повторяющихся имен:

, чтобы переместить все файлы, резервное копирование файлов с одинаковыми именами, используя [пулемет f44] - суффикс, и использовать нумерованные [f45 с] - суффиксы, когда .~ файлы уже существуют (так, чтобы не перезаписать что-либо), выполните:

[Ф2]

если вы пропустили файлов с одинаковыми именами и хотите знать, какие из них:

если вы используете mv -n и хочу знать, какие файлы были не переехал, потому что там был еще один файл с тем же именем, то лучший способ-это, наверное, просто запустить оригинальный find снова с командой, без -exec и все, что справа от него. Это будет печатать их имена. Он также будет печатать имена соответствующих файлов созданных после запуска оригинала [ф50] команду, но для этого приложения есть обычно никто так как вы ищете файлы с давних времен модификации. Можно дать файлу timestamp последнего изменения старше своего реального возраста, с touch и другие механизмы, но это не кажется вероятным, чтобы произойти в этом случае без вашего ведома.

[и D40]сразу зная, как файлы пропускаются из-за повторяющихся имен:[!и D40] [dрайвер d41]mv -n не отчитывается, и не возвращает никаких специальных Subv3rsion это!Д2], когда он воздерживается от перемещения файла. Так что если вы хотите быть незамедлительно проинформированы о пропущенных файлов при find работает, вам придется сделать отдельный шаг для этого. Одним из способов является:[!dрайвер d41] [Ф3] [d43 см.]в [ф8] выражение, найдите передает именем нашли на месте [ф9]. [ф10] указывает на [F11], что команду, которая будет выполнена, и ее аргументы были предоставлены (в случае последующего выражения передают, чтобы найти после этого конкретного [ф12] предикат, аргументы-см. ниже пример этого). [от f13] должны быть экранированы как [ф14] так это не интерпретируются особым оболочкой. (Без [ф15], [ф16] положит конец всему [f17 в] команда, работает как перевод строки. Хотя эта команда [ф18] не имеет ничего после этого [зг19] выражение, не в состоянии передать аргумент [20 фунтов] до сих пор синтаксическую ошибку.)[!d43 см.]

я разделил команды на две строки для удобства чтения. Он может быть запущен, что путь, или вы можете удалить \ и символ новой строки (т. е. строки).

как это [от f60] командной работы?

[ф61] предикаты могут быть же (как -type и -newermt), используемых для их возвращаемых значений или действий (например, [64-го фокуса] и [f65 в]), которые часто используются для их побочных эффектов.

[размером d57]при отсутствии оператора (например, -a для действия, -o или) подается между выражениями, [f68 не] подразумевается. find использует короткого замыкания оценки часто и или. [р70] (т. е. p -a q) правда только если P и Q выражения равны True, так что вопрос не оцениваться, если р ложно. Хотя мы часто не думаем об этом в этих терминах, поэтому тесты должны быть верно и для последующих действий или испытания должны быть оценены. Например, предположим, что find приходит на каталог. Он оценивает -type f значение false, поэтому он может пропустить все после.[!размером d57]

как тесты, действия True или false, а также. Таким образом, -exec отчеты, если выполняемая команда вышла отчетный успеха (True) или отказа (ложного). У нас есть эта сеть [f75 в Джей] выражений, связанных с неявными или:

[Ф4]

это пытается переместить файл, и если mv сообщает о сбое, остановка. Мы не хотим предупредить о правильно пропустить файл, если какая-либо другая проблема, почему он не переехал.

[г70]но если это удалось, затем он работает
короткое замыкание оценки!д60]. Как find, [ поддерживает своего рода выражений, переданных в качестве аргументов. [ф80] проверяет, является ли операнд после -f (переданные ей по find на месте {}) существует (и является обычным файлом), и возвращает либо True/успеха или false/отказ. он также будет печатать имена соответствующих файлов, созданных с момента запуска оригинальной Command [ф50], но в этом приложении есть обычно никто так как вы ищете файлы с давних времен модификации. Можно дать файлу timestamp последнего изменения старше своего реального возраста, с touch и другие механизмы, но это не кажется вероятным, чтобы произойти в этом случае без вашего ведома.[!г70]

если [ф85] возвращает false, то файл пропал, так уж повелось, поэтому нет необходимости что-либо делать. Но если [ф86] возвращает false, то файл все равно есть. Затем find оценивает следующие -exec выражение, которое печатает предупреждающее сообщение.

дальнейшее чтение

если Вы не хотите даже, что степень интерактивности, и хотите [ф35] всегда (попытка) перезаписи одноименных файлов, используйте [f36 в]. [ф90] и GNU Coreutils справочное руководство (особенно 11.4 [f91 со шляпками]: перемещать (переименовывать) файлы) mv принимает [ф39] и [ф40] флаги, чтобы автоматически переименовать одинаковыми именами файлов, которые уже существуют в месте назначения. По умолчанию [ф41] добавлен производить имя резервной копии, и если файл с таким именем и файл с именем резервная копия уже существует в месте назначения, резервный файл будет перезаписан. Это значение по умолчанию может быть переопределено параметры, передаваемые при вызове mv, и переменные среды. См. man mv дополнительные сведения и пример ниже.
7
ответ дан 25 May 2018 в 06:18
  • 1
    Когда я получаю время, я надеюсь добавить раздел о соображениях производительности и -exec ... + с mv -t, когда-нибудь скоро. – Eliah Kagan 9 October 2014 в 06:58

Другие вопросы по тегам:

Похожие вопросы: