2016-05-17 2 views
1

Я могу извлечь последние 60 дней файлов с текущей даты. Но я хочу последние 60 дней файлов со вчерашнего дня. Ниже приводится команда, я использую, чтобы принести последние 60 дней файлыВ unix, как извлечь последние 60 дней файлов со вчерашнего дня

find . -name $val\* -mtime -60 -print 

я могу перенаправить вывод в другой найти, вероятно, как показано ниже

find . -name $val\* -mtime -60|find . -name $val\* -mtime 1 -print 

Но что бы создавать файлы, которые были изменены ровно один день назад из списка последних 60 дней файлов.

Pls поможет мне, как достичь этого.

+1

Похоже, у вас уже есть правильный ответ. Но это сложно сказать наверняка, потому что ваш вопрос неясен. Не могли бы вы отредактировать сообщение, чтобы дать ясный пример, с именами файлов и значениями mtime? –

ответ

2

Вы можете предоставить несколько предикатов одной команде find, чтобы отфильтровать список возвращаемых файлов . В этом случае, комбинируя -mtime +1 с первой команды будет возвращать все файлы, которые были изменены менее 60 дней назад и (логические и неявно) больше, чем один день назад:

find . -name $val\* -mtime -60 -mtime +1 -print 
+0

Спасибо, сработало. Я видел на каком-то веб-сайте, что опция -mtime 1 извлекает файлы, измененные ровно один день назад. Поэтому я пошел с ним. Теперь он работает нормально .... – Dhivya

+0

понял. Разница заключается в использовании знака «плюс». Путь идти ко мне !!!!!! – Dhivya

+0

Добро пожаловать @Dhivya. Поскольку этот ответ сработал для вас, вы должны [принять его] (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), нажав на флажок слева. Это указывает на то, что * ответил * и (с помощью upvotes) - это способ, который выражается на сайтах Stack Exchange. Добро пожаловать в сеть Stack Exchange! –

1

Является ли эта команда полезна?
find . -name $val\* \(-mtime -61 -and -not -mtime -1 \) -print

Он перечислит все последние 61 дней, но исключает файлы, которые были изменены за последние 24 часа.

+0

Я связал команду @Anthony, и она сработала. Это - и не распознается оболочкой. Anyways спасибо – Dhivya

+0

@Dhivya не сказал, какой тип Unix он/она использует. Предикат '-and' является расширением GNU, поэтому он не будет работать с [POSIX-совместимыми версиями' find'] (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html). В этом нет необходимости, так как выражения поиска неявно сочетаются с логическим И. По этой же причине скобки не требуются. Кроме этого, это хороший ответ, поэтому я буду его продвигать. Добро пожаловать в сеть Stack Exchange! –

+1

Спасибо, Энтони. –