Мне нужно найти список файлов, которые не изменяются за последние 30 дней. Это означает, что в течение последних 30 дней не должно быть версии файла в любом филиале. возможно ли это в базовой четкости?найти список файлов, не измененных за последние 30 дней в ящике памяти
ответ
Попробуйте сначала, из query_language и cleartool find
, синтаксису
cleartool find <vobtag> -element "!{created_since(target-data-time)}" -print
Если это не сработает, вы бы тогда Откат к:
- список всех файлов с расширением версия, созданная за последние 30 дней
- список всех файлов и извлечение тех, которые не входят в первый список.
Относительно сказал первый список (от «How to determine the last time a VOB was modified»), с помощью cleartool find
:
cleartool find <vobtag> -element "{created_since(target-data-time)}" -print
or
cleartool find <vobtag> -version "{created_since(target-data-time)}" -print
Этот документ также упоминает cleartool lshistory -minor -all .
, но ненадежны, как он использует локальный метаданные, которые могут быть отменены в любое время.
Для второго списка:
cleartool find . -cview -ele -print
Вот пример Perl скрипт делать то, что вы просите. У этого есть стробированная строка даты, чтобы избежать увязнуть в арифметике даты Perl. Он принимает список всех элементов в VOB, а затем удаляет элементы с версиями, измененными с даты, указанной в этом списке, и, наконец, вывод немодифицированных элементов.
#!/usr/bin/Perl -w
my %elem_hash;
my $datestring="01-jan-2014";
my $demarq= "-------------------------------------------------";
my $allelemtxt="-- All elements located in the current VOB --";
my $ver_hdr ="-- Versions modified since $datestring --";
my $nonmodtext="-- Elements not modified since $datestring --";
#
# Get all elements in the current VOB.
#
$cmdout=`cleartool find -all -print`;
@elemtext=split('\n',$cmdout);
#
# Add them to a hashmap, simply because it's easier to delete from this list type
#
foreach $elem (@elemtext)
{
# Quick and dirty way to remove the @@
$elem = substr($elem,0,length($elem)-2);
$elem_hash{$elem} = 1;
}
#
printf("\n%s\n%s\n%s\n",$demarq,$allelemtxt,$demarq);
foreach $elem2 (sort (keys (%elem_hash)))
{
printf("Element: %s\n",$elem2);
}
#
# Get VERSIONS modified since the specified date string
#
$cmdout=`cleartool find -all -version "created_since($datestring)" -print`;
@vertext=split('\n',$cmdout);
#
# strip the trailing version id's and then delete the resulting key from the hashmap.
#
printf("\n%s\n%s\n%s\n",$demarq,$ver_hdr,$demarq);
foreach $version (@vertext)
{
printf("Version: %s\n",$version);
$version=substr($version,0,length($version)-(length($version)- rindex($version,"@@")));
if (exists($elem_hash{$version}))
{
delete $elem_hash{$version};
}
}
printf("\n%s\n%s\n%s\n",$demarq,$nonmodtext,$demarq);
foreach $elem2 (sort (keys (%elem_hash)))
{
printf("Element: %s\n",$elem2);
}
большое спасибо за это – user2636464
- 1. найти количество файлов и общий размер файлов, измененных за последние 30 дней в Linux
- 2. Командная строка Unix: как получить общий размер измененных файлов за последние 30 дней
- 3. Mysql - Последние 30 дней
- 4. Последние 30 дней данных
- 5. LEFT JOIN фильтры рефереры, которые присоединились последние 30 дней не рефералов, присоединившихся за последние 30 дней
- 6. Данные возврата Python за последние 30 дней
- 7. Рельсы тока + последние 30 дней
- 8. не может фильтровать рефералов за последние 30 дней
- 9. scartool список деятельность за последние 7 дней
- 10. SQL Query, чтобы найти пользователей без записи за последние 30 дней, но с записью за последние 90 дней
- 11. Яркий выбор формы записей за последние 30 дней
- 12. Список файлов, не измененных более 1 месяца
- 13. Mysql последние 30 дней, но за исключением записей из 3days
- 14. Как заказать counter_cache, используя только данные за последние 30 дней
- 15. Агрегирование данных за последние 30 дней в BigQuery
- 16. Как показать запись в SQL только за последние 30 дней
- 17. Как отображать даты SQL за последние 30 дней?
- 18. Сортировка двух таблиц по среднему значению за последние 30 дней
- 19. YouTube api - как получить просмотры каналов за последние 30 дней
- 20. F # Найти все файлы в подкаталогах, измененных за последние 5 дней
- 21. Как получить записи за последние 30 дней из таблицы
- 22. Приложение Более 25 мб за последние 30 дней
- 23. Наилучшая практика: Количество просмотров/кликов за последние 30 дней
- 24. CREATE VIEW для MYSQL за последние 30 дней
- 25. Получить данные между два раза за последние 30 дней
- 26. API Google Analytics V4: Получить данные за последние 30 дней
- 27. DATEDIFF, показывающий покупки за последние 30, 60 и 90 дней
- 28. Список файлов, измененных за 1 час до
- 29. Как выбрать последние 30 дней в MySQL?
- 30. Python - Получение данных за последние 30 дней из dataframe pandas
Я пробовал первый вариант. Но, поскольку есть тысячи файлов, я не уверен на 100%, если это правильно. – user2636464
@ user2636464 просто выберите один и посмотрите его дерево версий, чтобы узнать, есть ли версии, созданные sonce, последние 30 дней. – VonC
. Команда find cleartool наверху будет работать на дату создания элемента, а не на временные метки версии ... Я думаю есть способ, позвольте мне посмотреть, смогу ли я что-нибудь создать. Я считаю, что вы можете использовать find -version «created_since ...», чтобы дать вам список элементов с изменениями, а затем сопоставить их со списком всех элементов в VOB. –